簡體   English   中英

用超鏈接替換[]中所有文本實例的javascript

[英]javascript to replace all instances of a text within [] with hyperlinks

我現在面臨着另一個挑戰。 我的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>

我必須在[]中獲取數字,然后用超鏈接替換它。 我嘗試過使用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">&#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

Pradeep Pradeep

普拉迪普

普拉迪普

試試這個小提琴

您的問題似乎與以下鏈接中提出的問題有關。 你可以參考這個

使用正則表達式或其他內容替換字符串中的數字

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM