2

Firefox 3.6(Firebugコンソール)では、

$('<div style="-x-foo:bar;color:red;" />').attr("style")

結果は

"color: red;"

認識されないスタイルルールが失われるのはなぜですか?

4

3 に答える 3

4

jQueryは新しいDOM要素を作成します。Firefoxはstyleその要素の属性を解析し、理解できないものはすべて無視します。

Chromeはこのような属性を削除しないことに注意してください。

このリンクを試して、さまざまなブラウザでこの動作をテストしてください-ILMVに感謝します!

于 2011-02-10T13:45:39.967 に答える
2

認識されないルールに対してブラウザが実行する必要があるアクションについては、定義されたアクションはありません。一部のブラウザはそれらをDOMに追加しても無視する場合があり、他のブラウザはそれらを完全に削除する場合があります。

Firefoxは、未知のルールを削除するものの1つです。

他のブラウザでは結果が異なる場合があります。重要なのは、それが未定義であるため、同じブラウザのバージョン間であっても、何が起こるかを予測するのは難しいということです。

本当の質問は、あなたが指定しようとしている認識されないルールは何ですか?あなたは明らかにここである種の巧妙なトリックを行おうとしています、そして私はあなたが質問に与えられた答えがあなたの巧妙なトリックが機能するためにあなたが探していた答えになるとは思えません。おそらく、この認識されていないルールで何を達成しようとしていたかを説明した場合、特に現在の計画がうまくいかないように思われるため、それを達成する方法を見つけるのに役立ちます。

于 2011-02-10T14:06:09.303 に答える
0

ブラウザは、ノードを作成して属性値を設定するときに、認識できないプロパティを破棄します。

ブラウザがメモリに保持しているもののシリアル化を取得すると、それらは存在しなくなります。

于 2011-02-10T13:46:59.123 に答える