2011-09-13 70 views

回答

9

在這裏你去這樣做:

var items = document.getElementById('items'), 
    divs = document.getElementsByClassName('count'); 

[].slice.call(divs).forEach(function (div) { 
    div.innerHTML = items.innerHTML; 
}); 

現場演示:http://jsfiddle.net/MGqGe/

我用這個[].slice.call(divs)改造節點列表成一個常規數組,以便我可以調用forEach方法。

Btw,careful with innerHTML。我個人會使用庫(如jQuery)來克隆內容。

+3

對於直接的JavaScript回答爲+1,但應該檢查getElementsByClassName是否存在(如果使用)。 – kinakuta

+0

@kinakuta'getElementsByClassName'和'forEach'沒有在IE8中實現。如果OP需要跨瀏覽器解決方案,他應該使用庫。如果不需要支持IE8,請使用我的代碼。 –

+0

使用'querySelectorAll',只要你將'.slice'轉換爲Array和'forEach',你就可以獲得IE8的支持。 – user113716

3

您可以通過jQuery的這樣

$("div.count").html("new content"); 
+5

更高效的選擇器是$('div.count') - 因爲它依賴於快速DOM操作'getElementsByTagName'僅以抓取div作爲起點。 – Beejamin

+1

@Beejamin它做的是OP所問(「所有的div與班'計數'」)。而不是可能選擇額外的元素。 – Paulpro

+0

感謝您的注意,回答更新。 – MhdSyrwan

相關問題