连接表格的行和列 - jQuery

4
我想知道如何使用jquery链接编写此代码?
var table = document.getElementById("deliver_alt_table");
var rows = table.getElementsByTagName("tr");
$(rows[0].children[1]).css('visibility', 'hidden');

这段代码可以正常工作 - 但如何使用一行jquery来编写呢?

2个回答

5
$("#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');

我想知道这个被接受的答案在性能方面与我的解决方案相比如何。 - m-albert
我的猜测是,可能并没有太大的区别,因为所有相同的辅助函数都被调用了。事实上,它可能会更慢,因为选择器字符串必须被分解和解析,然后jQuery才能调用它的辅助函数。而且,这种写法有点难以理解。不过还是给个赞吧。 - I wrestled a bear once.
那么,也许会略微偏离主题...使用“长”选择器而不是使用离散的JQuery函数通常被认为是不良实践吗? - m-albert
1
@m-albert - 其实我的方法更快。请看:https://jsfiddle.net/9rbq968u/ - I wrestled a bear once.

2

类似这样的:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接