我有一个表格,每行有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")
我还应该考虑另一种方法吗?
答案 0 :(得分:1)
使用此
$("td:lt(10)")
我这样说是因为你有应该唯一的ID,意思是一行。
您还可以将$("tr").find("td:lt(10)")
用于多行...但请保持这些ID唯一。
但是请记住这一点,选择器的速度在这里会产生影响最小。重绘表意味着浏览器会进行大量的重排计算(此列基于所有文本,包装内容等)。 那是在这次操作中会占用你的时间,选择器不会产生巨大的性能影响,因为绝大部分的处理时间将在它运行后花费。
答案 1 :(得分:1)
如果您将所有这些内容添加到一个班级怎么办?或者你也可以使用“rel”......只是认为拥有一个通用标识符可能会加快速度。