简体   繁体   English

我想通过javascript来改变这一段

[英]I want to change this paragraph through javascript

document.querySelector("#myBtn").onclick = function () {
  console.log("Clicked");
  const h1 = document.querySelector("#myH1");
  const underline = document.createElement("u");
  underline.innerText = "Hey bro.";
  h1.innerText = "";
  h1.append(underline);

  const p = document.querySelector(".myP");
  p.forEach((element) => (element.innerText = "Thank You!!!!"));

  const btn = document.querySelector("button");
  btn.remove();
};
p.forEach((element) => (element.innerText = "Thank You!!!!"));

I got: Error TypeError p.forEach is not a function我得到: Error TypeError p.forEach is not a function

querySelector returns just 1 element. querySelector只返回 1 个元素。 Use querySelectorAll to return a list of elements matching the given selector.使用querySelectorAll返回与给定选择器匹配的元素列表。

The Document method querySelector() returns the first Element within the document that matches the specified selector. Document 方法querySelector()返回文档中与指定选择器匹配的第一个元素。

You could use the getElementsByClassName instead您可以改用getElementsByClassName

var p = document.getElementsByClassName('myP"');
for (let i = 0; i < p.length; i++){
  p[i].innerText = "Thank You!!!!";
} 

First, Check you createated a query or not.Then variable p is not defined inside the function.use query selector all for return all the elements in the query.首先,检查您是否创建了查询。然后在 function 中未定义变量 p。使用查询选择器全部返回查询中的所有元素。

querySelector returns an array that you can iterate with forEach. querySelector 返回一个可以用 forEach 迭代的数组。 so you just need to change querySelector to querySelectorAll .所以你只需要将querySelector更改为querySelectorAll

  const p = document.querySelectorAll('.myP')
  p.forEach((element) => (element.innerText = "Thank You!!!!"));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM