我必须具有包含点的类,但是jQuery无法正常工作。我该怎么办?
示例:http://jsfiddle.net/9KYmx/
<div style="display: none" class="dfv.png">
text
</div>
$(document).ready(function() {
$('.dfv.png').show();
})
附言身份证也无效。
最佳答案
如果选择器是常数,则必须用反斜杠(\
)转义点,因此应执行以下操作:
$('.dfv\\.png').show();
但是,更通用的解决方案是自动转义特殊字符。
您可以使用Ian McKellar's escape plugin转义所有特殊字符,代码简短:
//Just copy and paste this
(function() {
escape_re = /[#;&,\.\+\*~':"!\^\$\[\]\(\)=>|\/\\]/;
jQuery.escape = function jQuery$escape(s) {
var left = s.split(escape_re, 1)[0];
if (left == s) return s;
return left + '\\' +
s.substr(left.length, 1) +
jQuery.escape(s.substr(left.length+1));
}
})();
所以你也是:
$(document).ready(function() {
var your_selector = "dfv.png"; //your_selector can be variable
$("."+$.escape(your_selector)).show();
});
希望这可以帮助。
干杯
关于javascript - 当元素的类或ID包含点时无法显示该元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5861122/