我有以下代码:
someSelector:after {
content: attr('data-some-data');
/* ... */
}一切正常工作(该值反映在屏幕上),直到我将该属性更改为其他属性为止:
document.querySelector('someSelector').dataset.someData = 'some other value';内容不会在屏幕上更新,但是当我打开DOM资源管理器时,我可以清楚地看到,属性值确实被更新了。
我尝试通过浏览器控制台手动设置,但也没有成功。
在其他浏览器中一切正常工作,但当然在IE中.你知道..。
问题是
是否可以强制更新此值,以便在更改时将其反映在屏幕上?
发布于 2020-08-24 14:40:42
由于一些未知的原因,IE11在修改元素数据集时不会重新绘制DOM。
但是,如果必须支持IE11,请使用Element.setAttribute方法,如下所示:
document.querySelector('someSelector').setAttribute('data-some-data', 'some other value');DOM将被重新绘制,伪元素内容应该更新。
https://stackoverflow.com/questions/63563025
复制相似问题