Javascript 删除字符串中某个字符后的所有内容,但保留包装在标记中

Javascript 删除字符串中某个字符后的所有内容,但保留包装在标记中,javascript,string,replace,Javascript,String,Replace,我正在使用嵌套文本遍历多个元素,需要删除“+”字符后面的所有内容,但要在标记中保持包装 当前Html: <div class="v-event-timed" ><div class="pl"><strong>Test Demo</strong>, 1:38 AM + 11:38 AM</div></div> 测试演示,凌晨1:38+11:38 所需的Html输出: <div

我正在使用嵌套文本遍历多个元素,需要删除“+”字符后面的所有内容,但要在标记中保持包装

当前Html:

<div class="v-event-timed" ><div class="pl"><strong>Test Demo</strong>, 1:38 AM + 11:38 AM</div></div>
测试演示,凌晨1:38+11:38
所需的Html输出:

<div class="v-event-timed" ><div class="pl"><strong>Test Demo</strong>, 1:38 AM</div></div>
测试演示,凌晨1:38
JS-(保留最后一个字符,不正确):

this.$el.querySelectorAll('.v-calendar.v-event-timed').forEach((div:HTMLElement,i:number,arr:NodeListOf)=>{
arr[i].textContent=arr[i].textContent.replace(“+”,”)
})
JS-(这会删除所有标记,但不正确):

this.$el.querySelectorAll('.v-calendar.v-event-timed').forEach((div:HTMLElement,i:number,arr:NodeListOf)=>{
arr[i].textContent=arr[i].textContent.substr(0,arr[i].textContent.lastIndexOf(“+”);
})
像这样的东西

var elements=document.querySelectorAll(“div”);
for(设i=0;i

测试演示,1:38 AM+11:38 AM
选择子节点,更改文本节点的文本

var-plChildren=document.querySelector(“.pl”).childNodes;
plChildren[1]。textContent=plChildren[1]。textContent.replace(/\s\+.*/,“”)

测试演示,凌晨1:38+11:38
您可以控制HTML输出吗?如果你这样做了,你可以用一个类来包装你想要修改的时间,并以此为目标。你必须选择文本NodeRemoves标记,我需要保留它。谢谢@Spectric-upported youBingo!谢谢@epascarello
this.$el.querySelectorAll('.v-calendar .v-event-timed').forEach((div: HTMLElement, i:number, arr:NodeListOf<HTMLElement>) => {
arr[i].textContent = arr[i].textContent.replace("+", "")
})
this.$el.querySelectorAll('.v-calendar .v-event-timed').forEach((div: HTMLElement, i:number, arr:NodeListOf<HTMLElement>) => {
    arr[i].textContent = arr[i].textContent.substr(0, arr[i].textContent.lastIndexOf("+"));
    })