如何从具有相同类名的几个div获取数据属性?

时间:2018-04-05 13:15:10

标签: javascript jquery

我有几个npm install具有相同的div。我需要从这些class name中获取data attribute。我尝试了一些代码,结果越来越好。但我不确定这种方法是好还是坏,以获得div's。任何帮助,将不胜感激。

data("cartid")
if ($(".forComments").length > 0) {
  var cartCommentsId = [];

  $(".forComments").each(function() {
    cartCommentsId.push($(this).data("cartid"));
  });

  $.each(cartCommentsId, function(key, item) {
    console.log(item);
  })
}

1 个答案:

答案 0 :(得分:1)

您的代码工作正常,因此您的方法没有任何本质上的错误;虽然您错过了</div>代码。

如果您想简化逻辑,可以删除if条件并使用map()构建数组:

&#13;
&#13;
var cartCommentsId = $(".forComments").map(function() {
  return $(this).data("cartid");
}).get();

console.log(cartCommentsId);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="form-group forComments" data-cartid="123454535345"></div>
<div class="form-group forComments" data-cartid="86754546646"></div>
<div class="form-group forComments" data-cartid="43434343434"></div>
&#13;
&#13;
&#13;