ホームページ  >  記事  >  ウェブフロントエンド  >  IE6/7/8 の innerHTML 戻り値のみが英語の space_javascript スキルの問題を無視します

IE6/7/8 の innerHTML 戻り値のみが英語の space_javascript スキルの問題を無視します

WBOY
WBOYオリジナル
2016-05-16 18:08:201196ブラウズ

次のように

コードをコピーします コードは次のとおりです:

jack< ;/div>
<script> <br>alert(document.getElementById('user').innerHTML.length); <br></script>


div[id=user] のテキスト「jack」の前に英語のスペースが 2 つあります。各ブラウザでの結果は次のとおりです。

IE6/7/8: 4 が表示されます。 、スペースは無視されます

IE9/Firefox/Safari/Chrome/Opera: 6 が表示されます。つまり、スペース

は無視されません。中国語のスペースに変更すると、この問題は発生しません。

以下は Gray Zhang の追加です:
1. IE6-8 では、要素の firstChild が TextNode で、nodeValue の最初の n 文字がスペース文字 (スペース、、を含む) の場合。 、 および改ページ記号 U 000C)、これらの n 文字は無視されます
2. IE6-8 では、要素の lastChild が TextNode であり、nodeValue の最後の n 文字がスペース文字 (スペースを含む) である場合、 、、 、 と改ページ記号 U 000C) の場合、これらの n 文字はスペース (ASCII コードは 32) に結合されます。t であっても n であっても、スペースになります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。