javascript - 以数组形式检索选择器类的数据属性

标签 javascript jquery datatables attributes html-table

我正在运行 PHP + JQuery + DataTables 页面。一切都很顺利,我从以下方面得到了类似的标记:

.......
<tbody>
    <tr data='1'>
        ....
    </tr>
    <tr data='2'>
        ....
    </tr>
    <tr data='1'>
        ....
    </tr>
    <tr data='8'>
        ....
    </tr>
    <tr data='2'>
        ....
    </tr>
    <tr data='7'>
        ....
    </tr>
    <tr data='7'>
        ....
    </tr>
    .
    .
    .
</tbody>

我需要获取数组中所有tr的所有data属性,在上表的情况下,它的:

var data_values = [1, 2, 8, 7];

我认为逻辑可能有点以 $('tr').attr('data') 开头,但它返回 undefined。我已经对数据库执行了查询,它还返回一个数组:

var database_returned_values = [2, 8];

我的目标从一开始就是删除 database_returned_values 数组中找不到的 tr 元素。我的解决方案是从 data_values 中减去 database_returned_values 数组。区别在于要删除的 tr。但我什至无法开始获取data_values。如何检索所有 trdata 属性并将其放入 array 中,或者是否有更简单的方法来执行此操作?

在这种情况下,要删除的 tr 是那些 data 属性为 [1, 7] 的内容;

最佳答案

您可以使用each()来迭代所有tr:

var data = new Array();

$("table tbody tr").each(function(){
   if($.inArray($(this).attr("data")) == -1) // check if not in array
       data.push($(this).attr("data"))
})

关于javascript - 以数组形式检索选择器类的数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25853345/

相关文章:

javascript - 为 jQuery 传递一个 Twig 数组

Jquery dataTables 和 tablesorter 一起

javascript - 如何在同一页面打开内容显示的各个链接

javascript - 如何通过串联创建另一个变量来访问javascript变量值?

jquery - 将文本放入 "pop-up window"<P 标签中

javascript - 从 <audio> HTML 中隐藏进度条

jquery - 在 jquery datatable.net 中显示隐藏多列

javascript - Datatable.js 过滤问题

javascript - ajax加载后无法刷新某一特定div(MVC系统)

javascript - 使用 jQuery 更改表格元素内容