我有一个具有以下css样式的元素:
#element:after { content: attr(data-percent); }
我试图像这样用JQuery更改data-percent属性
$('#element').data('percent', '50%');
属性更改,我可以通过console.log($('#element').data('percent'));
进行检查,但它不会重绘并仍然包含旧属性。
我应该调用哪个函数来更新此元素?
答案 0 :(得分:3)
jQuery的data
接受属性as the initial value,但它并不使用它来实际存储数据,而是将数据缓存在内存中。
这允许存储您想要的任何值,而不是按照HTML5标准存储字符串。
如果您确实想使用该属性存储数据,请使用
$('#element').attr('data-percent', '50%');
答案 1 :(得分:-1)
jQuery无法引用和/或结束:after或:之前的伪元素。 CSS元素似乎不会自动更新引用的attr()更改内容。
我的建议是不使用伪元素。