jQuery("div#someid")
如果 html 无效并且有许多具有相同“someid”的 div 元素,将返回什么。它会返回第一个 div 吗?还是那是随机的?
问问题
97 次
3 回答
6
选择器会在不同的浏览器中给出不同的结果。
一些测试显示了这些结果:
Firefox 19: All elements
IE 10: All elements
IE 9: All elements
IE 8: All elements
IE 7: One element
Chrome 25: All elements
结果也可能因其他因素而异,例如 jQuery 版本、页面呈现模式和操作系统。您根本无法期望具有冲突 id 属性的一致结果。
于 2013-03-22T10:10:58.390 回答
2
最好知道的是尝试一下,在这个小提琴http://tinker.io/cba17中看到它的实际效果,所以答案是它将返回一个包含所有具有该 ID 的 div 的集合。虽然请避免这种情况,因为它是无效的 html 并改用一个类。
$('#someid'
另请注意,使用) 和之间是有区别的$('div#someid')
:
$('#someid'
) 将返回具有该 id 的第一个 div。
$('div#someid')
将返回包含所有元素的完整集合,如我在上面发布的小提琴中所示。
于 2013-03-22T10:07:13.640 回答
0
具有相同的 id 是无效的......所以你应该避免这种情况......并使用类......(虽然没有抛出错误)无论如何,选择器将返回具有相同 id 的第一次出现..
于 2013-03-22T10:05:36.567 回答