HTML& Javascript更改尖括号内的内容(<>)

时间:2017-08-27 11:28:42

标签: javascript html dom tags


只是想知道是否可以使用纯Javascript更改HTML标记中尖括号之间的内容 我的意思是所有的内容,不仅是标签名称,不仅是id,不仅是类和所有不同的属性,还有内部的所有内容,甚至是非标准的HTML代码。

一个小例子:
之前

<div id="myID" class="myCLASS" whaterver-content ></div>

Javascript DOM功能

<div id="myID" class="myCLASS" other-content ></div>

我知道标签名称,id和类可以使用JS中的DOM元素对象函数进行修改。对于不在引号内而不是在属性之前的数据,是否有任何好的函数可以做同样的事情?

感谢您的回答。

编辑:我刚刚通过另一种方式提问来看到这个Set attribute without value。但结果是一样的吗?或者会有=&#34;&#34;在属性之后?

2 个答案:

答案 0 :(得分:2)

我不喜欢接受的答案。您不应该将HTML作为字符串进行操作。它不安全,性能通常很差。

想象一下whaterver-content是div中某个地方的实际文本,例如用户输入。当它不应该被取代时它将被替换。

请直接使用DOM操作:

var element = document.getElementById('myID');
element.removeAttribute("whaterver-content");
element.setAttribute("other-content", "");

答案 1 :(得分:1)

如何在元素的replace属性上使用outerHTML

function change() {
   document.getElementById('myID').outerHTML = 
       document.getElementById('myID').outerHTML.replace('whaterver-content','other-content');
   console.info(document.getElementById('myID').outerHTML);
}
<div id="myID" class="myCLASS" whaterver-content ></div>
<input type='button' onclick='change();' value='change' />