0

jQuery("div#someid")如果 html 无效并且有许多具有相同“someid”的 div 元素,将返回什么。它会返回第一个 div 吗?还是那是随机的?

4

3 回答 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 回答