0

我有一个带有这样的文本标签的 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。

getElementsByTagName 在这种情况下不起作用,因为[stag]它不是有效的 HTML 标记,而是网页的纯文本。

以能够动态解析该标签的方式来实现这一目标的最佳方法是什么。

我相信我正在寻求帮助来创建:getElementsBySquereBracketsTagName

感谢您的帮助!

4

1 回答 1

1

它可能不是有效的标记,因为您最终会在跨度中使用 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')
于 2013-04-10T14:57:01.357 回答