1

奇妙な振る舞いに気づいたとき、私はWebアプリケーションに取り組んでいました。JavaScriptstyleプロパティを介してスタイルが適用された要素があります。その後、要素に適用されているすべてのスタイルを。で削除しようとしましたremoveAttribute("style")。これはGeckoでのみ機能します。WebKitは何もしません。

回避策(属性を削除する前に使用)を発見しましたが、WebKitで必要なのにGeckoでは必要setAttribute("style", "")ない理由がわかりません。setAttributeなんで?

ここに動作の例があります。行をコメントアウトして、setAttributeGeckoとWebKitの動作がどのように異なるかを確認してください。

4

1 に答える 1

0

属性の設定方法によって異なりますか?

var test=document.getElementById("test");
//test.style.background="green";
test.setAttribute("style", "background: green");
test.removeAttribute("style");

特定の属性を変更する別の方法であるため、2 行目をコメントアウトします。

これで、4 行目が webkit で (Google chrome dev channel を使用して) 正しく機能し、コメント アウトすると//test.removeAttribute("style")、3 行目からボックスが緑色のままになります。

于 2011-03-27T01:11:44.153 に答える