为了账号安全,请及时绑定邮箱和手机立即绑定

在 JavaScript 中使用 for 循环更改 H1

在 JavaScript 中使用 for 循环更改 H1

慕少森 2023-07-06 18:12:56
这里是 JS 新手。我试图获取 H1 标签中的所有值并更改长度小于 4 的值。它说“请回答问题”我需要它说“请回答你好问题”let header = document.getElementById("h1").innerHTML;let splittedText = header.split(" ");function seperateText() {  for (let i = 0; i < splittedText.length; i++) {    if (splittedText[i].length < 4) {      splittedText[i].innerHTML = "Hello"    }  }  // console.log(splittedText[i]);  return splittedText[i].innerHTML;}seperateText();<h1 id="h1">Please Answer the Questions</h1>
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

您的代码正在尝试设置字符串的innerHTML - 这不起作用


而且 [i] 不存在于循环之外


试试这张地图


const seperateText = str => {

  let splittedText = str.split(" ");

  return splittedText.map(word => word.length > 4 ? word : "hello").join(" ");

}


let header1 = document.getElementById("h1")

header1.innerHTML = seperateText(header1.innerHTML);


let header2 = document.getElementById("empty")

header2.innerHTML = seperateText(header2.innerHTML);

<h1 id="h1">Please Answer the Questions</h1>

<h1 id="empty"></h1>


或者这个替换


const seperateText = str => {

  return str.replace(/\b(\w+)\b/gi, match => match.length < 4 ? "hello" : match);

}


let header1 = document.getElementById("h1")

header1.innerHTML = seperateText(header1.innerHTML);


let header2 = document.getElementById("empty")

header2.innerHTML = seperateText(header2.innerHTML);

<h1 id="h1">Please Answer the Questions</h1>

<h1 id="empty"></h1>


查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信