javascript - 如何迭代 DataTable 中列的每个单元格以检查其文本?

标签 javascript jquery datatables

我有一个使用 jquery DataTables API 创建的表。我有一列指示数据表中每个单词的词频。如果频率 < 40,那么我想更改该单元格,使其不显示反射(reflect)词频的整数,而是显示“未排名”。

所以我需要迭代该列中的每个单元格以检查其中的文本。最好的方法是什么?

我在网上查找了一些问题并尝试编写以下内容,但这告诉我我正在尝试查找 undefined object 的属性“.each”

    words_table.column("corpus_rank").nodes().each( function(cell, i) {
    console.log(words_table.cell(i, 2).data());
});

我也许也不应该使用我不理解的代码...我不知道“i”的含义。因此,如果有人能以简单的方式解释这一点,那将会很有帮助。

添加更多代码。生成此数据表需要做很多工作,这就是为什么我认为代码不一定有帮助的原因。然而,确实有人询问了代码的上下文,他们让我思考了一些事情。

        var filter_states = determineFilterState(); 
var word_data_filtered = filterWordData(filter_states); //This line and the one above are responsible for determining which columns are displayed.
words_table = $("#words_generated").DataTable({
    "data" : word_data_filtered,
    "columns" : columns,    
    "aLengthMenu": [[25, 50, 100, 200, -1],
            [25, 50, 100, 250, "All"]],
    "pageLength": 100,
});

初始化此数据表时,我隐藏包含词频的列。不久之后,我运行了最初发布的代码来迭代词频列的每个单元格。

column.nodes() ,根据文档,获得 <th><td>对应于列 https://datatables.net/reference/api/column().nodes() 的标签

我已经使用 DataTables 足够长的时间了,想知道是否......也许 words_table .column("corpus_rank").nodes()` 返回一个未定义的值,因为我没有显示该列,因此它的和标签不存在。我很确定这个 API 的作用不仅仅是使不可见的列“显示隐藏”。

编辑:我将代码行移至 js 文件的另一部分,以确保显示词频列。但是表达式 words_table.column("corpus_rank").nodes()返回未定义的值。删除 .nodes() 方法会返回正确的列对象。 “corpus_rank”是列名称的设置(同样,使用 DataTables API)。

最佳答案

根据您提供的引用链接,该集合不是 jQuery 对象,该示例显示了链接 .to$() 将其转换为 jQuery 对象。

此外,each() 的参数也被颠倒了

尝试:

 words_table.column("corpus_rank").nodes().to$().each( function(i,cell) {
    console.log(words_table.cell(i, 2).data());
});

关于javascript - 如何迭代 DataTable 中列的每个单元格以检查其文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404751/

相关文章:

javascript - DataTables 动态显示开始

javascript - 数据表不加载嵌套对象 Ajax

javascript - 正则表达式匹配域和子域

javascript - VueJS Jquery 数据表集成 : Attach method to dynamic html element

javascript - 相当于没有 jQuery 的 getJSON 函数

javascript - 使用 .load() 时,我从外部页面获取所有 div,但我只想加载一个 div

javascript - javascript 中的 Defaultdict 等价物

javascript - 如何让 IFRAME 占据网页的右半部分?

javascript - 如何捕获元素上数据属性的变化?

javascript - 将时间字符串转换为更清晰的格式