[英]javascript to replace all instances of a text within [] with hyperlinks
我现在面临着另一个挑战。 我的html代码的某些部分包含以下行:
<div class="action-body flooded"><p>(In <span class="error">[82681]</span>) refs <a href="/browse/AGLBD-16096" title="GlobalTestSuite tracking">AGLBD-16096</a><br/></div>
我必须在[]中获取数字,然后用超链接替换它。 我尝试过使用document.getElementsByClassName('error'),但它不起作用。 我怎样才能让它发挥作用? 如果[]中有多个这样的数字,我还需要循环迭代以替换所有这些数字。 例如:[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>
这个JSFiddle做你需要的: http : //jsfiddle.net/TNyms/
当你用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);
用链接替换此中的所有ID:
<div class="action-body flooded">
<p>(In
<span class="error">[82681]</span>) refs
<a href="/browse/AGLBD-16096" title="">AGLBD-16096</a>
<br/>
</div>
<div>[123][abcd]</div>
<div>[456]</div>
<div>[789]</div>
输出:
(在Pradeep中 )参考AGLBD-16096
试试这个小提琴 。
您的问题似乎与以下链接中提出的问题有关。 你可以参考这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.