在 HTML5/JS 应用程序中,我们有一个视图,其中包含一些样式,具体取决于data-attribute
元素:
喜欢
<li data-level="0"></li>
或者
<li data-level="1"></li>
CSS
li[data-level^="1"] {
/* some styles */
}
这似乎在任何地方都可以正常工作page reload
。
但是当通过 JS 以编程方式设置数据属性时,CSS 属性会在所有相关的桌面浏览器中呈现,但不会在移动 safari 中呈现。
JS 部分如下所示:
this.$el.attr('data-level', this.model.getLevel())
关于如何强制应用这些属性(刷新/重绘某些东西)的任何想法?
我想避免使用 class 属性和不同的类,因为事情比这里显示的更复杂......