提问者:小点点

如何在元素上设置数据属性?[副本]


愚蠢的问题但是。。。我有一个div,它看起来是这样的:

<div class="container">
    <div class="abc" />
    <div class="abc" />
<div>                           

是否可以像这样设置

的值?然后使用js通过迭代div.container的子级来计算总数?


共1个答案

匿名用户

编辑:正如伊舍伍德在评论中提到的。这个答案只是javascript解决方案,并不是针对reactJS的,因为我漏掉了带有reactJS标记的问题。请参阅推荐答案:如何使用React动态设置HTML5数据属性?更好的解决方案!

您可能正在寻找html数据属性

<div class="container">
</h1>
    <div data-your-prop="abc" />
    <div data-your-prop="abc" />
<div>                          

例如1

const divs = document.querySelectorAll('.container div[data-your-prop]')

divs.forEach(function (el, index) {
    console.log(el.dataset.yourProp)
})

例如2

const divs = document.querySelectorAll('.container div[data-your-prop]')

let totalInt = 0
let totalFloat = 0
divs.forEach(function (el, index) {
    totalInt += parseInt(el.dataset.yourProp)
    totalFloat += parseFloat(el.dataset.yourProp)
});

console.log(totalInt)
console.log(totalFloat.toFixed(2))

(data-)属性名称附加到el.dataset,并且在dom中定义的名称被规范化为有效的json属性。