如何修改fnGetNodes()函数的结果值

How to modify values that are result of fnGetNodes() function

本文关键字:结果 函数 fnGetNodes 修改 何修改      更新时间:2023-09-26

我试图在我的数据表的第4列得到所有的值。(可见和不可见行)。每行的第四列由一个复选框组成。在我得到它们之后,我需要改变它们的'checked'属性并发送回table。目前,我能够获得数据,但我不知道如何在修改后将它们发送回datatable。在我试图检索的列中存在复选框。下面是我的代码:

$(document).on('click', '#select_all', function()
{
    var rows = $("#results_container table").dataTable().fnGetNodes();
    var cells = [];
    for(var i=0;i<rows.length;i++)
   {
       // Get HTML of 4rd column (for example)
      console.log( $(rows[i]).find("td:eq(3)"));
   }

});

下面是console.log语句输出的内容:

[td.sorting_1, prevObject: jQuery.fn.jQuery.init[1], context: tr, selector: "td:eq(3)"]

我要修改的check属性在0:td以下。sorting_1 -> childNodes的控制台视图屏幕截图

那么我怎么能改变这个检查值并在我的数据表上看到结果呢?

在for循环中将数据存储到变量中:

var dataHolder = $(rows[i]).find("td:eq(3)")

然后像这样访问数据:

dataHolder = dataHolder[0].childNodes;

然后在数据持有人上尝试console.log()。您应该能够像这样更改该值:

dataHolder[1].checked = true;