を使用しようとしましdocument.querySelectorAll()
たが、IE8はエラーをスローします。
オブジェクトはこのプロパティまたはメソッドをサポートしていません
var titleCheckBox = document.querySelectorAll("");
ここhttp://www.quirksmode.org/dom/w3c_core.html#t13に書かれているように、IE8 はこのメソッドをサポートしています。私が間違っていることは何ですか?
を使用しようとしましdocument.querySelectorAll()
たが、IE8はエラーをスローします。
オブジェクトはこのプロパティまたはメソッドをサポートしていません
var titleCheckBox = document.querySelectorAll("");
ここhttp://www.quirksmode.org/dom/w3c_core.html#t13に書かれているように、IE8 はこのメソッドをサポートしています。私が間違っていることは何ですか?
ページが Quirks モードまたは互換モードになっていないことを確認します。F12 開発ツールを使用してこれを確認できます。F12 を押して、結果のウィンドウの右上隅を見てください。モードの説明に「Compatibility」または「Quirks」と表示されている場合は、問題が見つかりました。
Quirks モード:これは通常、Doctype の欠落または破損によってトリガーされます。この場合は、ページが次のように始まっていることを確認してください。
<!DOCTYPE html>
互換モード (IE7 モード):ページをローカルで表示している場合 (つまり、テスト用にローカル マシンで実行している場合、またはローカル ネットワーク上でページを実行している場合) にトリガーされる可能性があります。この場合、無効にする必要がある IE 構成設定によってヒットしています。[ツール] メニューに移動し、[互換表示設定] オプションを選択します。互換性オプションのチェックを外すと、ページが機能し始めます。
Compat モードは、X-UA-Compatibility
メタ タグによってトリガー (または回避) することもできます。互換モードで問題が発生した場合は、これを回避する良い方法です: コードに次の行を追加します。
<meta http-equiv="X-UA-Compatible" content="IE=edge">
上記のいずれか (または両方) が問題である可能性がありますが、私の推測では、問題は互換モードです。compat-mode-on-intranet-sites 設定は驚くほどほとんど知られていないため、経験豊富な開発者でさえ、多くの人を惹きつけています。
IE8querySelectorAll()
は標準モードでのみサポートします。MSDNから:
Selectors API は、 Selectors API仕様の一部として定義されており、IE8 標準モードで表示される Web ページでのみ使用できます。
ページに適切な DOCTYPE 宣言がない可能性があります。追加する必要があります。