下面提到的两个 jQuery 选择之间的性能是否存在差异?
jQuery('#someId')
相对
jQuery('span#someId')
注意:“span”和“#someid”之间没有空格
此外,在 ID 之前提及“span”等元素类型是否有任何目的或优势?
下面提到的两个 jQuery 选择之间的性能是否存在差异?
jQuery('#someId')
相对
jQuery('span#someId')
注意:“span”和“#someid”之间没有空格
此外,在 ID 之前提及“span”等元素类型是否有任何目的或优势?
尽管它们应该是相同的,但它们不是。只放id总是会更快,因为 jQuery 首先评估您传递的字符串以确定它是使用 javascript 查询选择器还是 id 选择器。这里有相关的 jQuery 代码。
也就是说,仅使用 id 将始终返回 1 个元素,而span#id将返回每个元素。
在这里查看:http: //jsfiddle.net/ZW6Ed/
当然,仅使用 id 会更快,因为getElementById扫描 DOM 并在找到 id 而没有找到 id 时停止querySelector。
为什么“他们应该是一样的,但他们不是”?因为拥有多个 id 不是有效的 HTML。
jQuery('#someId')相当于jQuery('span#someId')
因为id是独一无二的所以更好用jQuery('#someId')。
id总是指独特的元素。
jQuery('#someId')-> 带有 id 的元素someId
jQuery('span#someId')-> 带 id 的 Span 元素someId
jQuery('#someId')是比较快的
