微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 当HTMLElement.dataset更新时,更新伪元素内容属性

我正在使用CSS attr函数将data- *属性的值动态链接到伪元素的内容
body::after { content: attr(data-after) }

我随后通过HTMLElement.dataset属性定期更新该数据属性

setInterval(function () {
    document.body.dataset.after = new Date;
},1000);

我注意到,在Internet Explorer中,虽然所有这些功能都受支持,但伪元素没有更新其内容属性以反映最近的更改.

我已经建立了一个小提琴来展示这个问题.你可以查看它online here.

如何解决这个限制?

解决方法

Internet Explorer现在有一个已知的错误/限制,导致当数据集更新时,不会更新伪元素.一个足够的解决方法是更新旧的(并因此更广泛的支持)setAttribute方法属性
setInterval(function () {
    // Work-around for IE bug: https://stackoverflow.com/q/28031707
    document.body.setAttribute( "data-after",new Date );
},1000 );

你可以see the results here.

在内部已经提出了一个针对这个问题的错误,相应的功能团队应该在即将进行的分类中评估这个问题.我们将尽快分配开发周期来解决问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐