2012-03-14 127 views
0

我現在正面臨另一個挑戰。我的HTML代碼中某些部分具有以下行:javascript用超鏈接替換[]中的文本的所有實例

<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> 

我得與-的[]的數量,然後用超鏈接替換它。我曾嘗試使用document.getElementsByClassName('錯誤'),但它不工作。我怎麼能使它工作?如果[]中有多個,我還需要在循環中進行迭代來替換所有這些數字。例如:[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> 
+0

'document.body'爲您提供body元素。你正在使用的是尋找一個ID爲_body_的元素。否則,這似乎工作。 – Devourant 2012-03-14 07:44:48

回答

1

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">&#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> 

輸出:

(在Pradeep)裁判AGLBD-16096

PradeepPradeep

Pradeep

Pradeep

this fiddle試試吧。