2017-04-05 48 views
1

我們的開發人員在整個網站上使用這個電話號碼1-866-579-469,但正確的電話號碼是1-866-579-4269。我已經寫了一個javascript函數替換所有出現:如何在javascript中多次替換相同的單詞?

var nodes,currentElement,oldtext,newtext,replaced,count; 
function replaceAll(nodes,oldtext,newtext,replaced) { 
    count = 0 
    for (var i = 0; i < nodes.length; i++) { 
    currentElement = nodes[i].innerHTML; 
    replaced = currentElement.replace(oldtext,newtext); 
    count++; 
    } 
    console.log("Edited: "+ count + " items"); 
} 

oldtext = "1-866-579-469"; 
newtext = "1-866-579-4269"; 
nodes = document.getElementsByTagName('*'); 

replaceAll(nodes,oldtext,newtext,replaced); 
+0

如果算上項目並不重要,更換可以在更短的方式 – RomanPerekhrest

+0

能否請你告訴我的方式進行? –

+0

我可以發表一個答案,但你已經有一個 – RomanPerekhrest

回答

1

你的代碼的工作,但你錯過了更新替換字符串。這應該工作:

var nodes,currentElement,oldtext,newtext,replaced,count; 
function replaceAll(nodes,oldtext,newtext,replaced) { 
    count = 0 
    for (var i = 0; i < nodes.length; i++) { 
    currentElement = nodes[i].innerHTML; 
    replaced = currentElement.replace(oldtext,newtext); 
    nodes[i].innerHTML = replaced; 
    count++; 
    } 
    console.log("Edited: "+ count + " items"); 
} 

oldtext = "1-866-579-469"; 
newtext = "1-866-579-4269"; 
nodes = document.getElementsByTagName('*'); 

replaceAll(nodes,oldtext,newtext,replaced); 

Codepen Here

+0

此代碼適用於我。 –

+0

謝謝你Alyas。 –

+0

不要忘記勾選綠色標記 –

相關問題