javascript将[]中文本的所有实例替换为超链接

javascript将[]中文本的所有实例替换为超链接,javascript,regex,Javascript,Regex,我现在面临着另一个挑战。我的html代码的某些部分有以下几行: <div class="action-body flooded"><p>(In <span class="error">&#91;82681&#93;</span>) refs <a href="/browse/AGLBD-16096" title="GlobalTestSuite tracking">AGLBD-16096</a>

我现在面临着另一个挑战。我的html代码的某些部分有以下几行:

<div class="action-body flooded"><p>(In <span class="error">&#91;82681&#93;</span>)         refs <a href="/browse/AGLBD-16096" title="GlobalTestSuite tracking">AGLBD-16096</a><br/></div>
(In[;82681];)参考文献
我必须在[]中获取数字,然后用超链接替换它。我尝试过使用document.getElementsByClassName('error'),但它不起作用。我怎样才能让它工作?如果[]中有多个这样的数字,我还需要在循环中迭代以替换所有这些数字。e、 g:[123][234][345]

这就是我在pimvdb的帮助下所写的全部内容:

<script type="text/javascript">
var bodyText = document.getElementById('body').innerHTML;
var pattern = /\[.*?\]/g;
var replaceText = "<a href=\"www.mysite.com\">Pradeep</a>";
document.getElementById('body').innerHTML = bodyText.replace(pattern, replaceText);
</script>

var bodyText=document.getElementById('body').innerHTML;
变量模式=/\[.*?\]/g;
var replaceText=“”;
document.getElementById('body').innerHTML=bodyText.replace(模式,replaceText);

此JSFIDLE满足您的需要:

您的问题似乎与下面链接中的问题相关。你可以参考这个


document.body
替换
getElementById('body')
时,代码对我有效

var body = document.body;
var link = "<a href=\"http://www.mysite.com\">Pradeep</a>";
body.innerHTML = body.innerHTML.replace(/\[.*?\]/g, link);
var body=document.body;
var link=“”;
body.innerHTML=body.innerHTML.replace(/\[.*?\]/g,link);
将此中的所有ID替换为链接:

<div class="action-body flooded">
    <p>(In
        <span class="error">&#91;82681&#93;</span>) refs
        <a href="/browse/AGLBD-16096" title="">AGLBD-16096</a>
        <br/>
</div>
<div>[123][abcd]</div>
<div>[456]</div>
<div>[789]</div>

(在
[;82681];)参考文献

[123][abcd] [456] [789]
产出:

(In)参考文献AGLBD-16096


尝试使用。

文档。body
提供body元素。您正在使用的查找id为body的元素。否则,这似乎是可行的。