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