自定义属性使用data
data是单向绑定,修改data值,不会实时更新到dom
<span id="billDesc" data-val="10">普通发票</span>
<script>
var ob = $("#billDesc");
//修改data值
ob.data("val","30");
//ob.attr('data-val', 32);
var dd = ob.data("val");
//dd=30
alert(dd);
</script>
实际上dom还是10
image.png
attr和data交叉混合导致修改的值无法取出
如果修改值用data,获取值用attr会导致修改的值无法取出
<body>
<input type="number" step="0.01" />
<span id="billDesc" data-val="10">普通发票</span>
<script>
var ob = $("#billDesc");
//修改用data属性
ob.data("val","30");
//获取用attr属性
var dd = ob.attr("data-val");
//dd=10
alert(dd);
</script>
</body>
总结
如果决定使用data就不要再使用attr,不要交叉使用
网友评论