ホームページ > ウェブフロントエンド > jsチュートリアル > id_javascriptスキルで要素を取得するためのjs querySelectorとgetElementByIdの違い

id_javascriptスキルで要素を取得するためのjs querySelectorとgetElementByIdの違い

WBOY
リリース: 2016-05-16 17:54:07
オリジナル
1120 人が閲覧しました

これは、sina の同僚 xiaoniu によって次のように発見されました。

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



;ボディ>

<スクリプト> CFC85B7B701A0677EC0 900000000000001';
関数 bySelector(id) {
return document.querySelector( '#' id);
}
function byId(id) {
return document.getElementById(id);

alert( str));
alert(byId(str));


2 つの関数bySelector と byId はそれぞれ querySelector を渡し、getElementById は要素を取得します。

ページ上に ID「02E503E2A1C011CFC85B7B701A0677EC0900000000000001」の要素があります。

結果: querySelector をサポートするすべてのブラウザーは、bySelector では取得できませんが (エラーが報告されます)、getElementById では取得できます。

id 文字列が長すぎるため、querySelector が取得できないのではないかと疑い始めました。本当の理由は、querySelector が CSS 仕様に従って実装されているためです。つまり、CSS 識別子を数字で始めることはできません。

W3 が書きました
CSS では、識別子 (要素名、クラス、セレクターの ID を含む) には、文字 [a-zA-Z0-9] と ISO 10646 文字 U 00A0 以降のみを含めることができます。識別子には、ハイフン (-) とアンダースコア (_) を含めることができます。数字、2 つのハイフン、またはハイフンの後に数字を続けることはできません (次の項目を参照)。たとえば、識別子「B&W?」は​​「B&W?」または「B26 W3F」と記述される場合があります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート