试图改善我的选择器。我有很多行,但我需要排除具有“table_row valuetemplate”类的行。
<table>
<tr class="table_row"></tr>
<tr class="table_row"></tr>
<tr class="table_row"></tr>
<tr class="table_row valuetemplate"></tr>
</table>
我很快就知道了:
$(".table_row")
这个慢得多:
$(".table_row:not(.valuetemplate")
这是排除的唯一方法吗?
答案 0 :(得分:5)
$(".table_row:not(.valuetemplate)")
似乎最快(在Chrome 13&amp; FF 5中测试,来自Chrome的结果)
http://jsperf.com/not-jquery-selectors
$(".table_row").not('.valuetemplate')
$(".table_row:not(.valuetemplate)")
$("table").children(":not(.valuetemplate)");
答案 1 :(得分:0)
$(".table_row").not(".valuetemplate");
我不确定它是否更快,但我知道作为jQuery最佳实践,使用方法而不是专门的选择器通常更快。 编辑:但不是在这种情况下。
例如:
$(".thing .subthing")
比
慢得多$(".thing").find(".subthing");