更快的jquery选择器,用于查找多个TD元素

时间:2010-03-31 21:43:29

标签: jquery jquery-selectors performance

我有一个表格,每行有13个TD元素。当我切换链接时,我想显示和隐藏其中的前10个。这10个TD元素都具有前缀为“foo”的ID和其位置的两位数(例如,“foo01”)。在整个桌子上选择它们的最快方法是什么?

$("td:nth-child(-n+10)")

$("td[id^=foo]")

还是值得连接所有ID?

$("#foo01, #foo02, #foo03, #foo04, #foo05, #foo06, #foo07, #foo08, #foo09, #foo10")

我还应该考虑另一种方法吗?

2 个答案:

答案 0 :(得分:1)

使用此

 $("td:lt(10)")

我这样说是因为你有应该唯一的ID,意思是一行。

您还可以将$("tr").find("td:lt(10)")用于多行...但请保持这些ID唯一。

但是请记住这一点,选择器的速度在这里会产生影响最小。重绘表意味着浏览器会进行大量的重排计算(此列基于所有文本,包装内容等)。 那是在这次操作中会占用你的时间,选择器不会产生巨大的性能影响,因为绝大部分的处理时间将在它运行后花费。

答案 1 :(得分:1)

如果您将所有这些内容添加到一个班级怎么办?或者你也可以使用“rel”......只是认为拥有一个通用标识符可能会加快速度。