javascript – JQuery从列表中获取所有数据属性

我有一个长的动态生成列表,每个列表都具有相同的类标识符和类似于以下代码的数据属性:

<ul>
    <li class="list" data-id="123">One</li>
    <li class="list" data-id="124">Two</li>
    <li class="list" data-id="125">Three</li>
    <li class="list" data-id="126">Four</li>
    .....etc
</ul>

我想要实现的是获取所有的数据id值并将其格式化如下:

123|124|125|126....etc

然后,这将通过ajax传递到页面,并且该id检查数据库中是否存在。

var delimited_data="";
$('.list').each(function(){
    delimited_data+=$(this).data('id')+"|";
});
console.log(delimited_data);

我问这个问题的原因是,我正在使用一个直播系统,在10分钟后自动将列表列中的项目部署到不同的用户。我只需要确保代码正确的方式:)

我还需要检查是否在页面上没有.list类(即 – 没有办法做查询)是否delimited_data将是完全空的,我很确定它将是。

在这种情况下,有没有比使用.each()更好的方法,因为我发现上述功能将每30秒运行一次,因此我觉得可以慢一点。

您可以使用.map返回数组:

var dataList = $(".list").map(function() {
    return $(this).data("id");
}).get();

console.log(dataList.join("|"));

演示:http://jsfiddle.net/RPpXu/

翻译自:https://stackoverflow.com/questions/17346640/jquery-get-all-data-attributes-from-a-list

转载注明原文:javascript – JQuery从列表中获取所有数据属性