使用JavaScript从控制台更改HTML列表项的innerText

问题描述 投票:0回答:2

我是编程新手,我一直在寻找解决方案,但是我发现的解决方案比应有的复杂,我被问到。我有这个HTML

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
  <meta content="utf-8" http-equiv="encoding">
 </head>
 <body>
  <h3>Pizza toppings:</h3>
  <ul id="ingredients">
   <li>Batsilica</li>
   <li>Tomtato</li>
   <li>Morezarella</li>
   <li>Hams</li>
  </ul>
 </body>
</html>

所以我必须使用控制台更改成分。我写这个是为了打印清单:

let toppings = document.querySelectorAll('#pizza-toppings li');
for (let i = 0; i < ingredients.length; i++) {
    console.log(ingredients[i].innerText);
}

我不知道如何一一修改列表中的那些项目。它不应该是任何replaceChild也不应该完全更改列表,而应选择它们并“对其进行修改”。也许我可以使用qSelector来获得该元素的子元素列表,但仍然不知道如何更正这些元素的拼写。我不能右键单击打印列表并进行编辑。

帮助?谢谢

javascript api dom console innertext
2个回答
0
投票
let toppings = document.querySelectorAll('#ingredients li');
for (let i = 0; i < toppings.length; i++) {
    console.log(toppings[i].innerText);
}

这应该工作


0
投票

您在文档中没有任何元素#pizza-toppings。因此,toppings是空节点列表。 ingredients是对象,而不是li元素的数组。如果您想遍历li,请尝试以下方法:

let ingredients = document.querySelectorAll('#ingredients li');
for (let i = 0; i < ingredients.length; i++) { 
   console.log(ingredients[i].innerText); }
}
© www.soinside.com 2019 - 2024. All rights reserved.