给定此HTML:
<div class="OpenIDSelector">some text</div>
为什么这个JQuery选择器在一些浏览器和一些页面上匹配它,而在另一些浏览器上不匹配呢?
$('.OpenIdSelector')
注意:我遇到了这个问题,并自己解决了它,但它很烦人,而且我还没有在StackOverflow上找到它,所以我把它作为问答对发布,这样其他人就不会像我一样浪费一个小时。
发布于 2010-04-06 02:00:39
事实证明,如果浏览器支持,JQuery的class selector将使用新的javascript方法getElementsByClassName。这种方法在quirks模式页面上不区分大小写,在非quirksmode(也就是符合标准的)页面上区分大小写。当然,通常很明显,大小写是不同的,但当文本被卡在一个又长又复杂的选择器中间时,就很难看清了。显然,标准和怪癖之间有很多区分大小写的差异需要注意。
故事的寓意:匹配HTML中的所有内容(元素名称、CSS类等)的大小写因为您永远不知道何时对浏览器、标准或库的更改可能会使您关于不区分大小写的假设失效。
https://stackoverflow.com/questions/2580029
复制相似问题