我想弄清楚如何用Javascript進行替換。我正在查看頁面的整個主體,並希望替換HTML標記內的關鍵字NOT。在JavaScript中,如何替換HTML頁面中的文本而不影響標籤?
下面是一個例子:
<body>
<span id="keyword">blah</span>
<div>
blah blah keyword blah<br />
whatever keyword whatever
</div>
</body>
<script type="text/javascript">
var replace_terms = {
'keyword':{'url':'http://en.wikipedia.org/','target':'_blank'}
}
jQuery.each(replace_terms, function(i, val) {
var re = new RegExp(i, "gi");
$('body').html(
$('body').html().replace(re, '<a href="'+ val['url'] +'" target="'+val['target']+'">' + i + '</a>')
);
});
</script>
我期待取代的「關鍵字」這不是一個HTML標籤內的所有實例(<
和>
之間)。
我想我還需要忽略「關鍵字」是否在script
或style
元素內。
不會被定義爲整個網頁的HTML標記內? – 2009-09-18 12:59:53
是的。我的例子中的HTML沒有通過。我基本上是指我不想替換標籤的任何屬性。 – Phil 2009-09-18 13:01:49
我在想他是指在括號內(如屬性名稱/值)。 – Mayo 2009-09-18 13:01:51