0
所以我有一個Chrome擴展,它在加載頁面時將替換由正則表達式指定的文本,並將其替換爲我想要的任何文本。現在,我不想用更多文本替換它,而是想用超鏈接替換文本,但我遇到了麻煩。此代碼只是打破頁面:爲什麼JavaScript不能用鏈接代替文本?
var elements = document.getElementsByTagName('*');
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
for (var j = 0; j < element.childNodes.length; j++) {
var node = element.childNodes[j];
if (node.nodeType === 3) {
var text = node.nodeValue;
var replacedText = document.createTextNode(text.replace(/dog/gi, 'jQuery'));
var aLink = document.createElement('a');
aLink.href = "http://google.com";
aLink.appendChild(replacedText);
element.replaceChild(aLink, node);
}
}
}
任何想法我做錯了什麼?
什麼是控制檯輸出的錯誤。 –
只是一個猜測,但是它會永久運行,因爲循環(基於一個活動列表)遞歸地遞減到剛剛創建的''?你需要指定你的意思是「休息」。 – apsillers