代码之家  ›  专栏  ›  技术社区  ›  Bernard Chen

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

  •  0
  • Bernard Chen  · 技术社区  · 14 年前

    我有一个表,其中每行有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 回复  |  直到 14 年前
        1
  •  1
  •   Nick Craver    14 年前

    用这个

     $("td:lt(10)")
    

    我这么说是因为你有身份证 应该 别具一格,意思是一行。

    你也可以用 $("tr").find("td:lt(10)") 对于多行…但保持这些ID唯一。

    但请记住,选择的速度 最小影响 在这里。重新绘制表意味着浏览器会进行大量回流计算(此列是基于所有文本、包装等的宽度)。 那是 在这个操作中,什么会占用您的时间,选择器将不会有巨大的性能影响,因为它的大部分处理时间将在运行之后花费。

        2
  •  1
  •   dscher    14 年前

    如果你把它们全部添加到一个类中呢?或者您可以使用“rel”,也许……只要考虑拥有一个公共标识符就可以加快速度。