假设我有这样的标记:
<div id="comment_box">
<div class='comment'>
<ul>
<li class='comment_1'>
</li>
<li class='comment_2'>
</li>
<li class='comment_3'>
</li>
<li class='comment_4'>
</li>
</ul>
</div>
</div>
commentBox = $('#comment_box')
$('。comment_3',commentBox)或commentBox.find('。comment_3')还是其他更快的方式?
答案 0 :(得分:2)
在使用JQuery选择元素时,我们需要记住以下几点:
1.选择选择器
选择好的选择器是提高JavaScript性能的一种方法。一点点特异性 - 例如,在按类名选择元素时包含元素类型 - 可以有很长的路要走。另一方面,太多的特异性可能是一件坏事。
选择器,例如
$('#comment_box .comment li.comment_3')有点矫枉过正,
如果选择器如
$('#comment_box li.comment_3')将完成工作。
jQuery提供了许多基于属性的选择器,允许使用简化的正则表达式基于任意属性的内容进行选择。
尽可能使用ID,类名和标记名称进行选择。
2.保存选择
jQuery不会为您缓存元素。如果您已经做出了可能需要再次进行的选择,则应将选择保存在变量中,而不是重复进行选择。
var commentBox = $('#comment_box');
在上面的示例中,变量名称以美元符号开头。与其他语言不同,JavaScript中的美元符号并没有什么特别之处 - 它只是另一个角色。这里,它用于表示变量包含jQuery对象。这种做法仅仅是惯例,并非强制性的。
一旦选择存储在变量中,就可以像调用原始选择一样调用变量上的jQuery方法。
选择仅在选择时获取页面上的元素。如果稍后将元素添加到页面中,则必须重复选择或以其他方式将它们添加到存储在变量中的选择。当DOM发生变化时,存储的选择不会神奇地更新。
您可以参考链接http://learn.jquery.com/using-jquery-core/selecting-elements/了解更多详情
答案 1 :(得分:1)
嗯,有各种方法。就我个人而言:
$("#comment_box .comment_3")
答案 2 :(得分:-1)
通常情况下,您越具体越好。例如:
$('#comment_box .comment li.comment_3')