如何使用JavaScript剥离某些标记?

如何使用JavaScript剥离某些标记?,javascript,Javascript,如何剥离某些标记并使用JavaScript保留内容 <div id="Box"> <h1><font style="vertical-align: inherit;"> <font style="vertical-align: inherit;">Meine Webseite</font></font> </h1>

如何剥离某些标记并使用JavaScript保留内容

<div id="Box">
    <h1><font style="vertical-align: inherit;">
        <font style="vertical-align: inherit;">Meine Webseite</font></font>
    </h1>
    
    <p><font style="vertical-align: inherit;">
       <font style="vertical-align: inherit;">Hallo zusammen!</font></font>
    </p>
    
    <p><font style="vertical-align: inherit;">
       <font style="vertical-align: inherit;">Über diese Seite:</font></font>
    </p>
</div>

梅恩韦氏体

你好,祖萨曼!

Über diese Seite:

结果应该是:

<div id="Box">
        <h1>Meine Webseite</h1>
        
        <p>Hallo zusammen!</p>
        
        <p>Über diese Seite:</p>
</div>

梅恩韦氏体
你好,祖萨曼

Über diese Seite:

因为我有几个字体标签,所以我需要一个JavaScript解决方案。

Jquery解决方案:

$('#Box').find('font').contents().unwrap()
let elm = document.getElementById("Box")
elm.innerHTML = elm.innerHTML.replaceAll(/<\/?font[^>]*>/g,"");
正则表达式解决方案:

$('#Box').find('font').contents().unwrap()
let elm = document.getElementById("Box")
elm.innerHTML = elm.innerHTML.replaceAll(/<\/?font[^>]*>/g,"");
let elm=document.getElementById(“框”)
elm.innerHTML=elm.innerHTML.replaceAll(/]*>/g,“”);

这是可行的,尽管我不确定它是否非常有效

const-box=document.querySelector(“#box”);
for(box.children的常量文本字段){
for(textField.children的const fontBlock){
textField.innerText=fontBlock.innerText;
fontBlock.remove();
}
}

梅恩韦氏体

你好,祖萨曼!

Über diese Seite:


我在codepen上写了一些人类可读的代码,效果很好

var font=document.querySelectorAll(“#Box font”);

对于(让i=0;i

,如果您想在plainJs中处理它,请使用以下代码:

const boxNode = document.querySelector("#Box");
boxNode.querySelectorAll('font')
.forEach((el) => {
    const parent = el.parentElement;
    while (el.firstChild) parent.insertBefore(el.firstChild, el);
    parent.removeChild(el);
});

谢谢,但是您的代码是jquery,而不是javascriptjQueryjavascript@FredStark谢谢,对于一个普通的文档来说,它工作得很好,但是我如何在这里使用它:在运行代码后,左边的iframe有字体,但不能以你的方式删除。我不清楚你的意思。谷歌翻译添加了by translation。现在在translat之后我想删除html中的字体。之后,我将使用纯代码,而不使用。我尝试使用您的代码删除字体。通常,它可以与控制台一起使用,但对于google translator,它不能。您知道为什么吗?谢谢,对于普通文档,它可以正常工作,但我如何在这里使用它:w3schools.com/code/tryit.asp?filename=GQKBFE47DV8L在运行代码后,左边的iframe有字体,但不能以您的方式删除。您有解决方案吗?通过javascript的方式,您可以删除/更新/添加/编辑DOM,但如果您想从文件中删除额外的元素,我建议您使用任务运行程序,如Gulp、Grunt和Webpack来处理此问题。