使用JavaScript,我需要解析一個頁面的HTML,並用內容塊中發生的ABC代替所有出現的ABC,例如<p>ABC Company lorem ipsum</p>
將更改爲<p><span class="abc">ABC</span> Company lorem ipsum</p>
,但mailto:[email protected]
將保持不變。自定義正則表達式需要
所以幾乎可以用空格或引號替換ABC,但顯然我想使它更通用一些。也許表達式會在不是之前/之後是[a-zA-z]
。
我有什麼至今:
<script type="text/javascript">
$(document).ready(function() {
$('body').find('div').each(function(i, v) {
h = $(v).html();
if (h.indexOf('abc') > 0) {
h = h.replace('abc', '<span class="abc">abc</span>');
$(v).html(h);
}
});
});
</script>
萬一這一點不明確,做代替這種方式會導致這些div內的所有存儲數據和綁定事件丟失。 –
啊,我覺得這個實現有一些可怕的錯誤,因爲它花了5分鐘纔出現。 –
這應該讓你成爲那裏的一部分:http://jsfiddle.net/hrEyC/實際上將不得不從節點導航到最接近的父元素並修改該元素的文本內容。 –