如何在像这样的元素中选择以data-size-
开头的所有数据属性
<div class="el" data-name="str" data-size-100="str" data-size-158="str" data-size-304="str">str</div>
我尝试做类似的事情,但无法弄清楚:
$('.el').attr('[data-size-*]')
答案 0 :(得分:3)
您可以使用dataset
var data = $('.el')[0].dataset;
var attrs = Object.keys(data).reduce(function(a,b){
if(b.startsWith("size")){ a.push(data[b]); }
return a;
},[]);
console.log(attrs); \\ ["str","str","str"]
在这里,我使用startsWith
来确定数据 - &#39;键&#39;是否以特定子字符串开头。同样reduce
是根据我们的条件将原始键数组缩减为新数组。