我有以下功能標籤特定的字符串替換
function replacer(oldstring, newstring) { document.body.innerHTML = document.body.innerHTML.replace(oldstring, newstring); }
我希望能夠如果不是內部更換任何文本以下標記
<a id="word">some text</a>
或< >字符之間。
請你可以告訴我,如果有老字符串在裏面的時候跳過a標記或< >之間的字符。
預先感謝您!
我有以下功能標籤特定的字符串替換
function replacer(oldstring, newstring) { document.body.innerHTML = document.body.innerHTML.replace(oldstring, newstring); }
我希望能夠如果不是內部更換任何文本以下標記
<a id="word">some text</a>
或< >字符之間。
請你可以告訴我,如果有老字符串在裏面的時候跳過a標記或< >之間的字符。
預先感謝您!
我認爲有以下應該做的伎倆:
function replacer(oldstring, newstring) {
var regExp = new RegExp("(<[^<>]+>)" + oldstring + "(</[^<>]+>)", "g");
document.body.innerHTML = document.body.innerHTML.replace(regExp, "$1" + newstring + "$2");
}
這是從來沒有更換身體的innerHTML一個很好的方法,它導致整個頁面,這可能不受歡迎的影響進行重新繪製的。
您可以搜索頁面的字符串:
如果發現任何,確定,如果父元素節點範圍(或者他的祖先之一,如果需要的話)是排除的範圍。如果不是,請替換文字。
不幸的是上述兩種方法都不適用於歌劇。
對不起,但這是行不通的! – testere 2011-06-17 09:23:24
這是因爲我忘了將新字符串分配給主體:) 它現在應該工作... – Ofir 2011-06-17 15:45:31