1

为 chrome 制作简单的扩展。将“querySelector”更改为“querySelectorAll”时,第二个功能不起作用。

  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,' ');}
4

2 回答 2

2

querySelectorAll返回节点集合,而不是querySelector返回单个节点。
要访问集合中的节点,您必须通过索引引用它。

ele2[0].innerHTML = ele2[0].innerHTML.trim();
于 2013-07-14T02:39:06.520 回答
0

querySelector 根据参数值返回第一个查询。querySelectorAll 以类似数组的结构返回列表。要获取列表中的单个元素,请使用索引。经验,

ele2[0]  // first iteration
ele2[1]  // second iteration
于 2016-09-14T08:46:09.027 回答