如何在div下将数据值设置为div?

时间:2018-08-17 06:31:52

标签: javascript jquery

我添加了这个,但给出了错误

error

我想获取并设置数值,但它给出了未定义的     $('#List').find('.plan').dataset.value = 10;

谢谢!

2 个答案:

答案 0 :(得分:2)

使用.attr来设置data-value属性的值,该属性将在所有.plan上设置值

$('#List').find('.plan').attr("data-value", "10");

答案 1 :(得分:1)

您正在尝试访问jQuery COLLECTION上的DOM属性。

要在using dataset时访问元素,您需要输入[0],如

$('#List').find('.plan')[0].dataset.value = amt;

如果您不想使用.data("value",amt).attr("data-value",amt),它们将在找到的任何.plan上设置amt。

或者您可以使用this

$('#List').find('.plan').each(function() {
  this.dataset.value = amt; 
})

测试:

var amt = 10;

// $('#List').find('.plan').dataset.value = amt; // does not work

$('#List').find('.plan')[1].dataset.value = amt; // ONLY on second element
console.log($("#List").html())

$('#List').find('.plan').attr("data-value", amt); // on ALL elements found
console.log($("#List").html())

$('#List').find('.plan').each(function() { // loop over elements
   this.dataset.value = 20; 
})
console.log($("#List").html())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="List">
  <li class="notPlan">Not a plan</li>
  <li class="plan">Plan 0</li>
  <li class="notPlan">Not a plan</li>
  <li class="plan">Plan 1</li>
</ul>