jquery - 如何使用 jquery each 函数获取值列表

标签 jquery html ajax

我正在尝试从 <li data-nid="1"> 中获取数据值标签。 <li>列表是从 Ajax 生成的查询响应。

$.each(data.notifications.detail,function(index, element){
$('#notifications_list').append('<li id="element" data-nid ='+element.id+'><a>'+element.texte+'</a></li>');
});

为了恢复值(value),我尝试了以下方法:

var array = new Array();
  $( "#element").each(function() {
        var id = $( this ).data( "nid" );
        array.push(id);
   });

但我总是只得到一个元素,而且它总是第一个。所以也许有人向我说明情况。

最佳答案

首先,您不能让多个元素具有相同的 id,因此在 id 选择器上使用 each() 是完全多余的。您应该将 id 更改为 class

要从附加元素创建值数组,您可以简单地使用 map()。试试这个:

$.each(data.notifications.detail, function(index, element){
    $('#notifications_list').append('<li class="element" data-nid="' + element.id + '"><a>' + element.texte + '</a></li>');
});

var array = $(".element").map(function() {
    return $(this).data("nid");
}).get();

另请注意,您可以在追加新的 li 元素时在相同的 each() 循环中创建值数组,如下所示:

var array = [];
$.each(data.notifications.detail, function(index, element){
    array.push(element.id);
    $('#notifications_list').append('<li class="element" data-nid="' + element.id + '"><a>' + element.texte + '</a></li>');
});

关于jquery - 如何使用 jquery each 函数获取值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37181119/

相关文章:

jquery - 为什么 jQuery 鼠标悬停不起作用?

PHP 排行榜没有显示正确的方式

javascript - 更改页面的背景颜色

php - jquery ajax通过php上传文件

javascript - Ajax 刷新后,元素无法正常工作

javascript - jQuery 获取对 div 中加载的对象的引用

javascript - 将值从一个元素复制到另一个元素

如果大小动态变化,jquery fading span 不包含图像

javascript - Grand/sticky jQuery 插件仅在 771px 以下激活

javascript - 表单成功和表单验证消息的不同功能