Javascript 如何将一个标记转换为另一个标记?
我有以下字符串Javascript 如何将一个标记转换为另一个标记?,javascript,Javascript,我有以下字符串TestTest。我想替换字符串并用标记替换标记。例如,字符串应该变成TestTest。如何在javascript中执行此操作?您可以使用简单的正则表达式来替换它: const str=“TestTest”; str.replace(//g,“”)//TestTest 最简单的方法就是使用正则表达式/regex const regex=/\(.*)\/g; //您可以用任何标记替换它,例如h2。 让str=“TestTest”; console.log(str); str=st
TestTest
。我想替换字符串并用标记替换标记。例如,字符串应该变成TestTest
。如何在javascript中执行此操作?您可以使用简单的正则表达式来替换它:
const str=“TestTest”;
str.replace(//g,“”)//TestTest
最简单的方法就是使用正则表达式/regex
const regex=/\(.*)\/g;
//您可以用任何标记替换它,例如h2。
让str=“TestTest”;
console.log(str);
str=str.replace(regex,“$1”);
console.log(str)代码>我相信这就是您正在尝试做的:
var str=“TestTest”;
var str=str.replace(/\d+/g,函数(编号){
返回编号(编号)+1;
});
console.log(str)
使用DOM:
var temp = document.createElement('div');
temp.innerHTML = '<h2>Test</h2><p>test</p>';
var hOld = temp.getElementsByTagName('h2')[0];
var hNew = document.createElement('h3');
Array.from(hOld.childNodes).forEach(function(child) {
hNew.appendChild(child);
});
temp.replaceChild(hNew, hOld);
alert(temp.innerHTML);
var temp=document.createElement('div');
temp.innerHTML='TestTest';
var hOld=temp.getElementsByTagName('h2')[0];
var hNew=document.createElement('h3');
Array.from(hOld.childNodes).forEach(函数(子){
hNew.appendChild(child);
});
临时替换子对象(hNew,保持);
警报(临时innerHTML);
这里有一个类似于Marat的方法,但使用的不是主文档。此函数还将循环原始节点上的属性,并将它们放入新节点中。事件监听器之类的东西无法通过此方法工作,但无论如何都不能将它们添加到字符串中
这是一种更可重用的方法,可以根据需要处理复杂的html字符串,因此,即使正则表达式方法看起来更简单,使用DOM解析器也比使用正则表达式要好得多
const str='TestTest';
函数replaceBySelector(str,selector,newTag,single=false){
const domparser=新的domparser();
const doc=domparser.parseFromString(str,'text/html');
常量元素=单个?[doc.querySelector(选择器)]:doc.querySelector(选择器);
for(元素的常量元素){
常量替换=doc.createElement(newTag);
for(element.attributes的常量属性){
replacement.setAttribute(attribute.nodeName,attribute.nodeValue);
}
replacement.innerHTML=element.innerHTML;
元素.parentNode.replaceChild(替换,元素)
}
返回doc.body.innerHTML;
}
log(replaceBySelector(str'h2',h3');
log(replaceBySelector(str,'p','a')代码>这是否回答了您的问题?