ホームページ > 記事 > ウェブフロントエンド > IE8ブラウザでDOM要素がname属性の大文字と小文字を区別しない問題の解決方法
IE8 ブラウザーで name 属性を使用して dom 要素を取得する場合、大文字と小文字は区別されません。
例:
<input type='text' name='C1'/> <input type='text' name='c1'/>
上記のように入力ボックスが 2 つあり、その名前属性はそれぞれ大文字の C1 と小文字の c1 です
要素を取得するときは、Google Chrome で jqury を使用して次の情報を取得します:
$("input[name='c1']").length // 1
上記のコードが I8 で実行されている場合取得したdom要素は2です。
js ネイティブ メソッドに変更して取得します:
document.getElementsByName('c1').length document.querySelectorAll("input[name='c1").length
上記 2 つのメソッドはどちらも IE8 では 2 です。 IE8 では name 属性では大文字と小文字が区別されないことがわかります。
これらの問題が発生した場合、DOM 要素を選択するときに、その親要素を追加して選択を区別できます:
<p class='p1'><input type='text' name='C1'/></p> <p class='p2'><input type='text' name='c1'/></p> document.querySelectorAll(".p1 input[name='C1") document.querySelectorAll(".p2 input[name='c1")
これにより、IE8 が name 属性の大文字と小文字を区別できないという問題が解決されます。
以上がIE8ブラウザでDOM要素がname属性の大文字と小文字を区別しない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。