Javascript字符串替换所有span

Javascript字符串替换所有span,javascript,jquery,html,Javascript,Jquery,Html,我有一个HTML字符串,我想替换所有包含replace text类的span var html = '<span class="replace_text" id="58d4aa82c887136a08dbedf5" contenteditable="false">mcq</span>Hello<span class="replace_text" id="58d4aa82c887136a08dbedf4" contenteditable="false">mcq&

我有一个HTML字符串,我想替换所有包含replace text类的span

var html = '<span class="replace_text" id="58d4aa82c887136a08dbedf5" contenteditable="false">mcq</span>Hello<span class="replace_text" id="58d4aa82c887136a08dbedf4" contenteditable="false">mcq</span>Other string charatcter';

据我所知,您希望为span元素提供其
id
属性的
innerText

给你:

var html='mcq Hello mcq Other string character';
$('#container').html(html);
$('.replace_text')。每个(函数(){
//我们迭代所有这些元素
$(this.text('{{'+$(this.attr('id')+'}');//我们在id属性中获取vaue,并将其添加到span中
});

您可以创建一个元素,将
.innerHTML
设置为
html
,使用
.find()
.map()
迭代
span
元素,返回
span
.id
.nextSibling
.textContent,调用
.join()
,使用参数
在生成的数组上从数组创建字符串

var html='mcqHellomcqOther字符串字符';
var res=$.map($(“”,{html:html}).find(“span”),函数(el){
返回“{{”+el.id+“}}}”+el.nextSibling.textContent
}).加入(“”);
$(“正文”)。附加(res)

我建议创建一个虚拟元素并使用domapi。任何解析/修改HTML字符串的regexp解决方案都是垃圾

const prepareHtml=html=>{
var fragment=document.createElement('div')
fragment.innerHTML=html
for(让fragment.querySelectorAll的span('span.replace_text'))
span.innerHTML=`{${span.id}}`
返回fragment.innerText
}
var html='mcqHellomcqOther字符串字符'
console.log(prepareHtml(html))

//{{58d4aa82c887136a08dbedf5}}您好{{58d4aa82c887136a08dbedf4}其他字符串字符
您有任何尝试吗?用什么替换span?还是替换文本?
{{span_id}}middle string{{span_id}}