簡體   English   中英

jQuery獲取行數

[英]JQuery get count of rows

非常快的點。 我在SO上看到了非常類似的問題,但它們通常使用表ID或假設只有一個表。 我有一個頁面,其中許多表都使用相同的模板(沒有唯一ID),並且想知道是否在何時加載特定數據,行是否為空。 我努力了 :

jQuery:計算表中的行數

jQuery-獲取表中第一個td的值以及其他

  //var row = $(this).closest('table tbody:tr:first');
                // var row = $(this).closest('tr').children('td:first').text();
                // var row = $(this).closest('tr').length;
                // var row = $(this).closest('tr').children('td:first').length;
                // var row = $(this).closest('table').find("tbody").children().length;
                // var row = $(this).closest('table').children('tr:last').index() + 1;
                // var row = $(this).closest('table').rowIndex;
                // var row = $("tbody").has("tr");
                // var row = $(this).closest('tbody').has("tr");
                var row = $('#tbody').children('tr:first').length;

但是無法得到正確的答案。

下面是表結構:

在此處輸入圖片說明

要獲取行數,請使用lengthsize()

//$(this) assumed as element inside table.
$(this).closest('table').find('tr').length

如前所述,頁面中有很多表。 您需要讓jQuery從您想要獲取tr長度的位置識別表索引。

要獲取特定表,請使用eq()

//To get TR length in 2nd table of a page
$('table:eq(1) tr').length

僅供參考

  • 對於類選擇器,請使用$('.table:eq(1) tr').length
  • 使用$(document).ready(function(){}包裝您的代碼,這將在您的頁面准備就緒時起作用。

查看您的表結構,您可以使用

$(".dataTable tr").length

獲取表中的行數

$("table").each(function(){
console.log($(this).find("tr").length));
})

這將記錄頁面中所有表中的trs計數

如果要在將數據加載到任何表中時運行一些代碼,則必須使用Mutation Observer

MutationObserver = window.MutationObserver || window.WebKitMutationObserver;

//create observer
var observer = new MutationObserver(function(mutations, observer) {

     console.log("Table Loaded");
     //whatever you want to do when table is loaded
});

//set to observe childs ( options )
observer.observe(document.querySelector("table"), {
  subtree: true,
  childList:true,
  attributes:true
});

我經歷了人們的建議,這些建議大多(與其他頁面一樣)假設有一個ID,並且頁面上只有一個表,盡管問題提到的並非如此。

最終使用:var row = table_values.context.tBodies [“ 0”]。firstElementChild;

我是通過開發工具檢查tbody而得到的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM