【问题标题】:chaining table rows and columns - jquery链接表行和列 - jquery
【发布时间】:2016-06-16 20:28:00
【问题描述】:

我想知道如何使用链接在 jquery 中编写代码?

var table = document.getElementById("deliver_alt_table");
var rows = table.getElementsByTagName("tr");
$(rows[0].children[1]).css('visibility', 'hidden');

这段代码可以工作 - 但它怎么能用一行写在 jquery 中呢?

【问题讨论】:

    标签: javascript jquery method-chaining


    【解决方案1】:
    $("#deliver_alt_table") // sorta like getElementById()
    .find("tr") // sorta like getElementsByTagName()
    .eq(0)  // sorta like how you did rows[0]
    .children() // sorta like rows[0].children
    .eq(1) // sorta like rows[0].children[1]
    .css('visibility', 'hidden');
    

    【讨论】:

    • 我想知道这个公认的答案与我的解决方案的性能相比如何。
    • 我的猜测是,考虑到调用了所有相同的辅助函数,可能并不多。事实上,它可能会更慢,因为选择器字符串必须在 jQuery 调用它的辅助函数之前被分解和解析。此外,它有点难以理解。 +1 虽然。
    • 所以,可能有点跑题了......通常认为使用“长”选择器与使用离散 JQuery 函数相比是不好的做法吗?
    • @m-albert - 实际上我的方法要快得多。见:jsfiddle.net/9rbq968u
    【解决方案2】:

    类似...

    $("#deliver_alt_table tr:first > *:eq(1)").css("visibility", "hidden");
    

    编辑:将“nth-of-type”更改为“eq”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 2010-11-30
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多