element.className不立即更新DOM

时间:2013-06-22 13:52:45

标签: css classname

我正在各种智能电视平台上开发应用程序,其中一个较旧的平台使用旧版本的Maple浏览器。

这个浏览器的独特之处似乎是设置element.className似乎不会自动更新DOM,例如,如果我从元素中删除一个类然后立即调用document.getElementsByClassName(class),原始元素仍会出现在列表中具有该类的元素。

示例:

// when entering here, "menu0" has className "focusedmenu" so clear it
var el = document.getElementById("menu0");
el.className = "";

// as a sanity check, get all elements with class "focusedmenu"
var focused = document.getElementsByClassName("focusedmenu");
for (var i = 0; i < focused.length; i++) {
    // 'menu0' will still show as having 'focusedmenu' class
    alert ( "focusedmenu id " + focused[i].getAttribute('id') );
}

这段代码似乎在其他平台上运行正常,所以我猜我要么采取不同的方法,要么在修改className后立即强制DOM刷新。

有人可以推荐一个好的解决方案吗?

0 个答案:

没有答案