尝试获取表格选择器是变量的HTML表格中的行数时,要使用的jQuery语法是什么

问题描述 投票:0回答:4

我需要使用变量作为表选择器来获取表中的行数。我得到了这个表:

var table_element = $(this).prev('table.w2bw2c-with-artists-table');

我从之前的帖子尝试了这个,但得到了一个错误,长度未定义。

var new_with_artist_index = $(table_element).rows.length;

我见过这些方法用于查找表中的行数:

var rowCount = $("#tblEmployee td").closest("tr").length;
var rowCount = $('#myTable tbody tr').length;

如何使用表选择器是变量而不是ID的方法之一?或者,还有更好的方法?

javascript jquery
4个回答
2
投票

你可以在jQuery对象上使用.find()方法。

var rowCount = table_element.find('tbody tr').length; 

或者,您可以使用[].get()获取本机表,然后使用.rows属性

var rowCount = table_element[0].rows.length;

0
投票

var row = $(“#tblEmployee td”)。find(“tr”); var rowCount = row.length;


0
投票

许多方法可以做到这一点:

1. jQuery查找方法

$(tableElement).find('tr').length

2. jQuery上下文参数(我这样称呼)

$('tr', tableElement).length

3.普通的Javascript

tableElement.querySelectorAll('tr').length

如你所见,最短的将是第二个变体,我认为它也非常清楚,所以如果你可以利用jQuery,那就去做那个变种吧。如果您的库中没有jQuery,那么您应该使用第三个变体。

querySelectorAll是为所有DOM元素定义的,并返回一个NodeList。还有一个querySelector函数,它将返回选择器的第一个匹配(所以单个元素,如果没有匹配,则返回null)。

NodeList不扩展Array,所以如果你想迭代列表,你需要这样做:

[].forEach.call(tableElement.querySelectorAll('tr'), function(element) {
    doSomething();
});

0
投票

我找到了Ricky G的答案

jQuery: count number of rows in a table

这是我的代码:

//Helper function that gets a count of all the rows <TR> in a table body <TBODY>
$.fn.rowCount = function() {
    return $('tr', $(this).find('tbody')).length;
};

使用:

var table_element = $(this).prev('table.w2bw2c-with-artists-table');
var new_with_artist_index = $(table_element).rowCount();

谢谢,给Ricky G一顶帽子!

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.