【问题标题】:querySelectorAll didn't working but querySelector didquerySelectorAll 不起作用,但 querySelector 起作用了
【发布时间】:2013-07-14 02:34:55
【问题描述】:

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

【问题讨论】:

    标签: javascript google-chrome-extension


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。但是我怎样才能选择所有节点? querySelectorAll 可以找到的不仅仅是 0 或 1 或 4,而是全部?
    • @pi1yau1u 你必须遍历它们。 for (x=0;x&lt;ele2.length;x++){ele2[x]...}
    • 是的!极好的。非常感谢您的宝贵时间!
    【解决方案2】:

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

    ele2[0]  // first iteration
    ele2[1]  // second iteration
    

    【讨论】:

      猜你喜欢
      • 2013-09-15
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多