$('#content td#foo')。show(); $( '#TD富')表示();
td位于内容div的深处。
什么更快?
答案 0 :(得分:16)
你可以简单地写
$("#foo").show();
您不能拥有多个具有相同ID的元素。因此,无需使用任何其他选择器来获取具有特定id的元素。所以你的td标签选择器可以避免。
答案 1 :(得分:16)
最快的是:
$('#foo').show();
ID必须是唯一的,这会导致浏览器中的哈希表查找以引用DOM元素,并不会比这更快。如果您的ID foo
不是唯一的,那么您还有其他问题......这是无效的HTML。
答案 2 :(得分:8)
这两个选择器都将解析为:
$('#foo').show();
然而,manual说:
对于id选择器,jQuery使用JavaScript函数document.getElementById(),这非常有效。当另一个选择器附加到id选择器时,例如h2#pageTitle,jQuery在将元素标识为匹配 之前执行附加检查。
您可以将上述附加检查视为完全没有意义,除非您的标记中有重复的ID,这在HTML ID属性的定义和使用方面是不正确的。请参阅http://www.w3schools.com/tags/att_standard_id.asp。