さまざまな Smart TV プラットフォームでアプリを開発していますが、古いプラットフォームの 1 つで古いバージョンの 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 を強制的に更新する必要があると思います。
誰でも良い解決策をお勧めできますか?