我有一个带有这样的文本标签的HTML页面:
<div id="container">
[stag id="789"]some content 1[/stag]
</div>
<span id="somespan">
[stag vn="78988" id="532"]some content 2[/stag]
</span>
[stag id="891" vn="78988"]some content 3[/stag]
[我想使用js解析整个页面代码,并获取所有stag
属性和内容,并用生成的div就地替换它们。
注意:它不是有效的标签,请用方括号括起来,并且必须在未加载js时显示为页面上的纯文本;如果显示为div,则显示为div解析。
getElementsByTagName在这种情况下将不起作用,因为[stag]
不是有效的HTML标记,它是网页的纯文本。
实现此目标的最佳方法是,能够动态解析该标签。
我相信我正在寻求帮助来创建:getElementsBySquereBracketsTagName
感谢您的慷慨帮助!
这可能不是有效的标记,因为您最终将在一个范围内得到DIV,但这是一种实现方法。
给出HTML
<html>
<body>
<div id="container">
[stag id="789"]some content 1[/stag]
</div>
<span id="somespan">
[stag vn="78988" id="532"]some content 2[/stag]
</span>
[stag id="891" vn="78988"]some content 3[/stag]
</body>
</html>
JavaScript
document.body.innerHTML =
document.body.innerHTML.replace(/\[/gi,'<').replace(/\]/gi,'>').replace(/stag/gi,'div')