2012-03-01 10 views
0

の文字列を出力するには、のInnerHTMLを使用するJavaScriptが必要ですが、最初のものだけを処理しています。最初の出会いは完璧にはうまくいくが、他の出会いは無視される。HTML5 .getElementById/.innerHTMLの問題

document.getElementById('num1').innerHTML=num; 
document.getElementById('num2').innerHTML=num; 
// etc. 

をしかし、それはめちゃくちゃ冗長です:

私はこれを行うことによって問題を解決することができます。
.getElementByIdは最初に一致するタグのみを処理することを目的としていますか?

+1

http://stackoverflow.com/questions/7480496/javascript-getelementbyclass –

+0

リンクbt @ darryn.tenは良いですが、IDは一意になっているはずです。 –

答えて

0

.getElementByIdは、最初に一致するタグのみを処理するためのものですか?

はい、指定されたid(特定の接頭辞または正規表現の一致ではなく、正確なID)を持つ要素の1つだけを返すことになっています。

多くの要素を一致させる場合は、それらに共通のクラスを与えることを検討する必要があります。

または多分彼らは共通の祖先とパスを持っているので、あなたでし

document.querySelectorAll('#commonParentId span') 

(ID commonParentIdを持つ要素内のすべてのスパン、上記IE8でサポートされていると)のようなものでselect them

+0

'$ 'は何を表していますか? –

+1

@Thio、質問がjQueryを要求せず、jQueryのことを言及していない場合でも、jQueryコードへの参照をランダムにスローするだけではありません。ここでの一般的な規約は、jQueryに言及していないか、jQueryのコード例を組み込んだり、jQueryのタグを組み込んだりすると、jQueryを要求していないということです。 – jfriend00