2012-03-01 63 views
0

我想的JavaScript輸出使用的innerHTML 匹配位置的字符串,但它只能處理第一個。它在第一次遇到時很好地工作,但忽略了其他人。HTML5 .getElementById/.innerHTML問題

我可以這樣解決問題:

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

但是,這是瘋狂的冗餘。
.getElementById意味着只處理第一個匹配的標記嗎?

+1

http://stackoverflow.com/questions/7480496/javascript-getelementbyclass – 2012-03-01 07:07:36

+0

鏈接bt @ darryn.ten很好,記住id的應該是獨一無二的! – 2012-03-06 10:41:33

回答

0

.getElementById是否意味着只處理第一個匹配的標籤?

是的,它應該返回(最多)只有具有指定id(確切的id,而不是一些前綴或正則表達式匹配)的一個元素。

如果你想匹配很多元素,你應該考慮給他們一個共同的類。

或者,也許他們有一個共同的祖先和路徑,所以你可以select them的東西,如

document.querySelectorAll('#commonParentId span') 

(所有元素中的跨度與ID commonParentId,通過IE8和支持以上)。

+0

什麼是$'代表? – 2012-03-01 05:35:04

+1

@Thio,請不要只是隨機在一塊的jQuery代碼參考扔當問題不要求jQuery和你甚至沒有提到它的jQuery的。這裏的一般約定是,如果問題沒有提到jQuery,包含jQuery代碼示例或包含jQuery標籤,那麼它們不會要求jQuery。 – jfriend00 2012-03-01 05:38:57