如何在data- *属性更改时更新元素

时间:2014-06-06 14:54:51

标签: javascript jquery css reflow

我有一个具有以下css样式的元素:     #element:after { content: attr(data-percent); }

我试图像这样用JQuery更改data-percent属性 $('#element').data('percent', '50%');

属性更改,我可以通过console.log($('#element').data('percent'));进行检查,但它不会重绘并仍然包含旧属性。

我应该调用哪个函数来更新此元素?

2 个答案:

答案 0 :(得分:3)

jQuery的data接受属性as the initial value,但它并不使用它来实际存储数据,而是将数据缓存在内存中。

这允许存储您想要的任何值,而不是按照HTML5标准存储字符串。

如果您确实想使用该属性存储数据,请使用

$('#element').attr('data-percent', '50%');

答案 1 :(得分:-1)

jQuery无法引用和/或结束:after或:之前的伪元素。 CSS元素似乎不会自动更新引用的attr()更改内容。

我的建议是不使用伪元素。