Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery循环列表项并获取数据imgid属性值_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery循环列表项并获取数据imgid属性值

Javascript jQuery循环列表项并获取数据imgid属性值,javascript,jquery,html,Javascript,Jquery,Html,有几个li元素具有数据id属性,如 <ul> <li data-imgid="5" class="getMe">some text</li> <li data-imgid="6" class="getMe">some text</li> <li data-imgid="7" class="getMe">some text</li> </ul> 但是从日志中我可以看到 console

有几个
li
元素具有
数据id
属性,如

<ul>
   <li data-imgid="5" class="getMe">some text</li>
   <li data-imgid="6" class="getMe">some text</li>
   <li data-imgid="7" class="getMe">some text</li>
</ul>
但是从日志中我可以看到

console.log($(this).data('imgid'));
它返回文本

数据imgid

如何获取数组中的id数据属性


似乎我在设置数据imgid时犯了一个错误,我将删除此问题,

您必须将每个问题替换为以下内容:

var array = [];
$('.getMe').each(function(index, current) {
       array.push($(current).data('imgid'));
       console.log($(current).data('imgid'));
})

您可以使用
.map()
方法,然后访问每个元素的
数据集
属性:

当然,您也可以使用
.attr()
方法来获取值:

var array = $('.getMe').map(function () {
    return $(this).attr('data-imgid');
}).get();
或者不使用jQuery:

用于获取属性

var数组=[];
$('.getMe')。每个(函数(){
array.push($(this.attr('data-id'));
console.log($(this.attr('data-id'));
})

  • 一些文本
  • 一些文本
  • 一些文本
试试这个

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<ul>
   <li data-imgid="5" class="getMe">some text</li>
   <li data-imgid="6" class="getMe">some text</li>
   <li data-imgid="7" class="getMe">some text</li>
</ul>
<script>
var array = [];
$('.getMe').each(function() {
       array.push($(this).data('imgid'));
       console.log($(this).data('imgid'));
})
console.log($(this).data('imgid'));
console.log(array);
</script>

  • 一些文本
  • 一些文本
  • 一些文本
var数组=[]; $('.getMe')。每个(函数(){ array.push($(this.data('imgid')); log($(this.data('imgid')); }) log($(this.data('imgid')); console.log(数组);

希望这有助于…

为什么要使用imgid?只使用id,因为您使用了data-id。simple@AjayMakwana为了可读性,我在列表中填写的对象有一个id,并且imgid在设置数据imgid时出错。由于输入错误,问题已经结束。版主不会在这个基础上单方面删除这篇文章,因为删除会抹掉回答者的努力。
var array = $('.getMe').map(function () {
    return $(this).attr('data-imgid');
}).get();
var elements = document.querySelectorAll('.getMe'),
    array = Array.prototype.map.call(elements, function (el) {
      return el.dataset.imgid
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<ul>
   <li data-imgid="5" class="getMe">some text</li>
   <li data-imgid="6" class="getMe">some text</li>
   <li data-imgid="7" class="getMe">some text</li>
</ul>
<script>
var array = [];
$('.getMe').each(function() {
       array.push($(this).data('imgid'));
       console.log($(this).data('imgid'));
})
console.log($(this).data('imgid'));
console.log(array);
</script>