Javascript,替换课堂上句子中的第一个单词

Javascript,替换课堂上句子中的第一个单词,javascript,html,Javascript,Html,我想帮助您用Marty替换name类中的名字。我只想使用Javascript而不是jQuery 所以这应该是“马蒂时钟”的结果 <span class="name">Brad Clock</span> Brad时钟 这就是我现在得到的。 const article=document.querySelector('article'); const name=article.querySelectorAll('.name'); 对于(变量i=0;i

我想帮助您用Marty替换name类中的名字。我只想使用Javascript而不是jQuery

所以这应该是“马蒂时钟”的结果

<span class="name">Brad Clock</span>
Brad时钟
这就是我现在得到的。
const article=document.querySelector('article');
const name=article.querySelectorAll('.name');
对于(变量i=0;i
真的挺过来了,很管用

他完全正确,马蒂。你最不需要的就是头痛。嗯,我想就这些了。请注意,爱因斯坦的时钟与我的控制表完全同步。晚上好,我是埃米特·布朗医生,我站在这里的停车场上——你昨晚又穿着衣服睡了什么

没错。乔治,嘿,算了吧,斯布克,这与你无关。给你,女士。有25美分


这就是你想要的,不是吗

const article=document.querySelector('article');
const name=article.querySelectorAll('.name');
对于(变量i=0;i
真的挺过来了,很管用

他完全正确,马蒂。你最不需要的就是头痛。嗯,我想就这些了。请注意,爱因斯坦的时钟与我的控制表完全同步。晚上好,我是埃米特·布朗医生,我站在这里的停车场上——你昨晚又穿着衣服睡了什么

没错。乔治,嘿,算了吧,斯布克,这与你无关。给你,女士。有25美分


Regex
/[^\s']*/
匹配所有小于或等于
空格的字符。为方便起见,使用了
Array.prototype.forEach()

var name=document.querySelectorAll('.name');
name.forEach((name)=>{
name.innerText=name.innerText.replace(/[^\s]*/,“Marty”)
})
真的挺过来了,很管用

他完全正确,马蒂。你最不需要的就是头痛。嗯,我想就这些了。请注意,爱因斯坦的时钟与我的控制表完全同步。晚上好,我是埃米特·布朗医生,我站在这里的停车场上——你昨晚又穿着衣服睡了什么

没错。乔治,嘿,算了吧,斯布克,这与你无关。给你,女士。有25美分

您在这里有一个错误

 const text = name[i].textContent.split(" ").replace([0], ' ').join("Marty")
as name[i].textContent.split(“”)返回一个数组,不能替换数组上的字符串

你可能想要

var text = name[i].textContent.split(" "); //gets the words
text.splice(0, 1, 'Marty'); //removes first and replaces with Marty
text.join(" "); //converts the array in string adding spaces

regex replace应在字符串上使用,如:

name[i].textContent.replace(/\w+/, 'Marty')
const article=document.querySelector('article');
const name=article.querySelectorAll('.name');
对于(变量i=0;i
真的挺过来了,很管用

他完全正确,马蒂。你最不需要的就是头痛。嗯,我想就这些了。请注意,爱因斯坦的时钟与我的控制表完全同步。晚上好,我是埃米特·布朗医生,我站在这里的停车场上——你昨晚又穿着衣服睡了什么

没错。乔治,嘿,算了吧,斯布克,这与你无关。给你,女士。有25美分


您可以使用
split
执行此操作:

let split = "Brad Clock".split(' ');
split[0].replace("Brad", "Marty").join(' ');
更新:以下是替换文章内容的代码:

const article = document.querySelector('article');
const name = article.querySelectorAll('.name');

for (var i = 0; i < name.length; i++) {
     const split = name[i].innerHTML.split(' ');
     split[0] = "Brad";
     name[i].innerHTML = split.join(' ');
}
const article=document.querySelector('article');
const name=article.querySelectorAll('.name');
对于(变量i=0;i
以下是操作方法: 获取给定类的每个元素的内容,并用Marty替换第一个单词

function replaceNames(类名称、新名称){
var元素=document.queryselectoral(“.”+类名);
对于(var i=0;i0){
arr[0]=新名称;
content=arr.join(“”);
元素[i].innerHTML=content;
}
}
}
}
替换姓名(“姓名”、“马蒂”)
真的挺过来了,很管用

他完全正确,马蒂。你最不需要的就是头痛。嗯,我想就这些了。请注意,爱因斯坦的时钟与我的控制表完全同步。晚上好,我是埃米特·布朗医生,我站在这里的停车场上——你昨晚又穿着衣服睡了什么

没错。乔治,嘿,算了吧,斯布克,这与你无关。给你,女士。有25美分


你的意思是句子中的第一个单词?检查我的答案。其他的是不正确的,因为他们会用马丁取代爱因斯坦的
,而不是马丁的
。马丁的
会用马丁取代爱因斯坦的
而不是马丁的。我们可以用马丁取代爱因斯坦的
。你可以用这个标记代替原来的标记,用更少的编码就能解决问题。为什么实际文本未更改?