2013-07-14 235 views
1

對chrome進行了簡單的擴展。 將「querySelector」更改爲「querySelectorAll」時,第二個函數不起作用。querySelectorAll不起作用,但querySelector做了

var ele2 = document.querySelectorAll(".view-count "); 
    window.onload = function(){ 
     func2(); 
    } 

function func2(){ 
    ele2.innerHTML = ele2.innerHTML.trim(); 
    ele2.innerHTML = ele2.innerHTML.slice(0, -14); 
    ele2.textContent = "$" + ele2.innerHTML.replace(/ /g,' '); 
    } 

解決方案:

for (x=0;x<ele2.length;x++){ele2[x].innerHTML = ele2[x].innerHTML.trim();} 
for (x=0;x<ele2.length;x++){ele2[x].innerHTML = ele2[x].innerHTML.slice(0, -14);} 
for (x=0;x<ele2.length;x++){ele2[x].textContent = "$" + ele2[x].innerHTML.replace(/&nbsp;/g,' ');} 

回答

2
querySelectorAll

返回節點的集合,而不是querySelector它返回單個節點。
要訪問集合中的節點,您必須通過索引引用它。

ele2[0].innerHTML = ele2[0].innerHTML.trim(); 
+0

謝謝。但我如何選擇所有節點?不只是0或1或4,但所有,querySelectorAll可以找到? – pi1yau1u

+0

@ pi1yau1u你將不得不循環他們。 'for(x = 0; x Musa

+0

是的,這是!太棒了。非常感謝您的參與! – pi1yau1u

0

querySelector返回基於參數值的第一個查詢。 querySelectorAll以類似數組的結構返回列表。要獲取列表中的單個元素,請使用index。 Exp,

ele2[0] // first iteration 
ele2[1] // second iteration 
相關問題