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')这是否回答了您的问题?