获取多个数据属性

时间:2017-09-27 18:34:37

标签: jquery html

有点难以解释....我正试图获得这个重复div的属性。代码如下..

<div class="hidden-data">
    <div class="menu-data" data-title="About"></div>
    <div class="menu-data" data-title="Team"></div>
    ETC/ETC/ETC
</div>

现在我正在打电话......

  var data = $(".menu-data").attr("data-title");

只获得第一个'关于'。我想找到一种方法将每个'data-title'属性传递给一个数组。

思考?我有点难过,也没有谷歌搜索这个... ...

谢谢!

3 个答案:

答案 0 :(得分:1)

Jquery

var array = [];
$(".menu-data").each(function() {
   array.push($(this).attr("data-title"));
});

Js Fiddle

答案 1 :(得分:0)

这是因为当你在jQuery对象上调用data方法时,它会返回nodeList中第一个元素的数据。要获取所有div的数据,您必须使用$.each方法遍历元素,或使用映射来检索列表中的属性。

答案 2 :(得分:0)

您可以使用eq获得您想要的相同或使用each来获取每个

&#13;
&#13;
	var data = $(".menu-data").eq(0).data('title');
  console.log('eq(0) : ' + data);
  
  var data = $(".menu-data").eq(1).data('title');
	console.log('eq(1): ' + data);
  
  $(".menu-data").each(function(){
  console.log('each: ' + $(this).data('title'));
  })
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="hidden-data">
    <div class="menu-data" data-title="About"></div>
    <div class="menu-data" data-title="Team"></div>
    ETC/ETC/ETC
</div>
&#13;
&#13;
&#13;