我想从多个类元素中的data-tag中提取数据。 each()函数是执行此操作的最佳方法吗?
jQuery:
$('#copymodal').on('show.bs.modal', function (event) {
$(".copy19").each(function(){
var a = data('total');
alert(a);
});
})
HTML:
<a class='copy19' href='#'
data-statementid="14"
data-total="98078"
data-toggle="modal"
data-target="#editmodal">
Edit
</a>
<a class='copy19' href='#'
data-statementid="16"
data-total="78078"
data-toggle="modal"
data-target="#editmodal">
Edit
</a>
答案 0 :(得分:1)
从多个类元素中的数据标签中提取数据
使用.map()
取回值数组:http://api.jquery.com/jquery.map/
var totals = $(".copy19").map(function(i, e) {
return $(e).data("total");
}).get();
console.log(totals)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class='copy19' href='#'
data-statementid="14"
data-total="98078"
data-toggle="modal"
data-target="#editmodal">
Link
</a>
<a class='copy19' href='#'
data-statementid="16"
data-total="78078"
data-toggle="modal"
data-target="#editmodal">
Link
</a>
答案 1 :(得分:0)
是的,每种方法都是这样做的一种方法,因为$('.copy19')
返回元素列表(基本上是数组)。
答案 2 :(得分:0)
$(".copy19").each(function() {
// Like this:
var statementid = $(this).data('statementid');
var total = $(this).data('total');
var toggle = $(this).data('toggle');
var target = $(this).data('target');
// or like this..
var allData = $(this)[0].dataset;
/* value of allData is object with attributes:
allData = {
statementid: "14",
total: "98078",
toggle: "modal",
target: "#editmodal"
}
*/
});