0

以前の質問 (http://bit.ly/KNMN89) で、IE7 の setAttribute() の壊れた実装によって引き起こされた問題に遭遇しました。同時に、問題をテストしているときに、次のことを発見しました。

IE7 ではdocument.documentElement、、、document.getElementsByTagName('html')[0]およびdocument.body.parentNodeは、他のブラウザーのように [object HTMLHtmlElement] を返しませんが、代わりに [object] を返します。

Javascript の初心者なので、これが何を意味するのかわかりません。これは、IE7 が <html> 要素を DOM のルートとして正しく読み取らないということですか? それとも単に間違った値を返すケースですか? また、デザイナー/開発者にとって、そのような違いは、もしあれば、どのような意味を持ちますか?

これはおそらく大きな問題ではないと推測していますが、この異常を単に無視するのではなく、先に進む前に少なくとも何が起こっているのかを知りたい. ここの Javascript のベテランが私に関連するアドバイスをくれたら本当にありがたいです。前もって感謝します。

4

1 に答える 1

1

これは、[object]オブジェクトのタイプを指定せずに、オブジェクトが IE7 の文字列に変換されるためです。HTML*Elementさらに、IE7 にはオブジェクト型がありません。ただし、document.documentElementどちらもドキュメントのルートである要素をdocument.getElementsByTagName('html')[0]返します。<html>

于 2012-06-28T01:57:00.567 に答える