我在客户端事件中广泛使用数据属性来管理数据。是否可以使用JavaScript或jquery动态地为数据属性赋值?
<li data-class_value="somevalue" class="myclass"></li>
$('.myclass').click(function(){
$(this).data('class_value') = "new value";
});
字符串
上面的JavaScript代码抛出错误:
“Uncaught ReferenceError:赋值中的左侧无效”。
有人能告诉我这是如何实现的吗?
3条答案
按热度按时间klsxnrf11#
我相信这个问题的其他答案只会在jQuery中的该元素上设置数据对象。
如果你需要设置实际的HTML data-* 属性,你需要使用这个:
字符串
要注意以这种方式检索HTML5 data-* 属性,因为尽管您可以使用快捷方式
$(this).data("class_value");
来检索它们,但随后的检索将使用jQuery数据对象中的缓存值。jQuery文档:
数据属性在第一次访问数据属性时被拉入,然后不再被访问或变异(所有数据值然后存储在jQuery内部)。
来源:jQuery caching of data attributes
b4lqfgs42#
你需要做
字符串
gywdnpxw3#
第一个月
.data