HTML
<div id="you" data-you="Hello mean">super</div>
是#you html元素更改数据 - 属性
console.log($("#you").data("you")); // Hello mean
$("#you").attr("data-you", "yes change you atribute");
console.log($("#you").data("you")); // Hello mean | does not change.
当我改变时,属性“数据 - 你”不会改变。我怎么能这样做?
谢谢。答案 0 :(得分:67)
已经有一个答案被选为一个正确的答案,但它似乎 没有一个答案清楚,简明地解释发生了什么 所以让我试一试:
$(element).data(key, value)
不更改元素的html5'data- *'属性,jQuery在内部存储键值(在jQuery.cache中)。
因此,当您调用$(element).data(key)
时,您将获得jQuery内部存储的内容。
在这里回答你的问题:
由于您希望更改html代码的data-you
属性,因此您需要使用attr()
方法
因此:
console.log($("#you").attr("data-you")); // Hello mean
$("#you").attr("data-you", "yes change you atribute");
console.log($("#you").attr("data-you")); // The data-you attribute has been changed.
答案 1 :(得分:26)
attr()您不必更改data()方法。
尝试以下方式:
console.log($("#you").data("you")); // Hello mean
$("#you").data("you", "yes change you atribute"); // yes change you atribute
console.log($("#you").data("you")); // yes change you atribute
答案 2 :(得分:2)
答案 3 :(得分:1)
试试这个:
$("#you").data("you", "yes change you atribute");
答案 4 :(得分:0)
有关更多信息==> How to Get & Set Data Attribute Value From HTML Elements jQuery - Tutsmake
使用以下语法,您可以设置属性和值。
$(selector).attr(attribute,value);
通过示例设置数据属性值
$('#myClass').attr("data-id",50);
答案 5 :(得分:-3)
<script>
/*Works only with Chrome
Inspired by Erik Deiner's concept :
http://dribbble.com/shots/435827-Concept-for-budget-price-slider
*/
$('#rate4').on("input", function() {
$('#rate_out4').val('£' + parseFloat(this.value, 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString());
}).trigger("change");
</script>