0

時々私はこのような要素を取得する必要があります:

var object = document.getElementById('ObjectName');

そして時々このように:

var object = document.getElementById('#ObjectName');

それらの違いは何ですか?

4

4 に答える 4

8

いいえ、あなたは見ていません

var object = document.getElementById('#ObjectName');

#要素の id がで始まることを意味し、HTML4 id は"with a letter ([A-Za-z])" でしか始まらないため、それはわかりません。

あなたが目にするのは、クエリ言語を使用してオブジェクトを見つけることができるjQueryライブラリを使用している人々です。

var elem = $('#objectId');

そして将来的には、同様のクエリ言語をquerySelectorまたはquerySelectorAllで使用する人がますます増えるでしょう。

于 2013-03-18T20:22:42.253 に答える
7

これは、CSS#の ID セレクターの一部です。jQuery やネイティブ DOM メソッド、.querySelectorquerySelectorAll

しかし、「従来の」DOM メソッドでは、#に特別な意味はありません。文字通りID を持つgetElementById('#ObjectName')要素、つまりを選択します。#ObjectName<div id="#ObjectName">

于 2013-03-18T20:22:48.500 に答える
6

前者は で要素を取得しid="ObjectName"ます。後者は で要素を取得しid="#ObjectName"ます。

Selectorのコンテキストでは(たとえば CSS で使用されますが、 では使用されdocument.querySelectorませんgetElementById)、#文字はそれに続くテキストが ID であることを示します。

document.querySelector('ObjectName')(タイプ セレクターを使用して) get <ObjectName />(有効な HTML ではありません) をdocument.querySelector('#ObjectName')取得し、 で要素を取得しid="ObjectName"ます。

于 2013-03-18T20:22:51.323 に答える
-1
'#ObjectName'

JQuery (編集:または他の JavaScript ライブラリ)

'ObjectName'

DOM (getElementById)

于 2013-03-18T20:24:19.847 に答える