jquery是否具有参数化方法,如rails参数化?我想使用jQuery参数化字符串,例如:
"Jonh [ Doe ] " => "john-doe"
" John ( Doe )" => "john-doe"
"{ John } Doe / " => "john-doe"
Run Code Online (Sandbox Code Playgroud)
我知道,可以用toLowerCase()和.replace(),但我想最好的做法去做.现在我使用这个脚本
toLowerCase().replace(/\[|\]|\(|\)|\{|\}|\\|\//g, '').replace(/\s/g, '-')
Run Code Online (Sandbox Code Playgroud)
要么
toLowerCase().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-')
Run Code Online (Sandbox Code Playgroud)
但结果看起来像这样
"{ John } Doe / " => "-john--doe--"
Run Code Online (Sandbox Code Playgroud) 我正在创建工具提示的动态定位,我先在jsfiddle上测试代码然后将我的代码放到我的网站上(在localhost上使用wordpress构建),在jsfiddle我的脚本是可行的但是当我把代码放到我的网站时,它不起作用(不是动态的铬)因为不同的结果$(window).height().你可以检查这个小提琴并尝试鼠标进入一个链接(第一个链接),然后看到登录控制台,窗口高度的结果是wh :667在我的网站窗口高度是wh :12024和wh : 11970(可更改)
jQuery(document).ready(function ($) {
$('a[rel="bookmark"]').mouseenter(function () {
console.log($(window).height());
})
});
Run Code Online (Sandbox Code Playgroud)
也用这个
jQuery(function($){
$(window).ready(function(){
console.log($(window).height());
});
$(window).on('resize', function(){
console.log($(window).height());
});
});
Run Code Online (Sandbox Code Playgroud)
谷歌浏览器
jsfiddle:667
我的网站(wordpress):12024 - 多变的
Mozilla的
jsfiddle:602
我的网站:585
我敢肯定,我添加了严格的doctype.
我找到了这个解释
$(window).height()是显示网站的视口的高度.(不包括工具栏和状态栏以及类似的东西)
$(document).height()是视口中显示的文档高度.如果它高于$(window).height()您获得滚动条滚动文档
我认为在我的网站上的结果$(window).height()是滚动条在chrome上滚动文档(我的网站有一个很长的页面).如果是这样,我怎样才能在我的网站上获得视口的高度,是否有另一种方法可以获得每个浏览器(chrome,mozilla,opera等)视口的相同结果(实际)高度?
注意:我不认为使用,screen.height因为它可以导致屏幕显示(包括浏览器的工具栏)