[英]How would I replace the first instance of a string in an HTML page?
我是一名技術作家,在我的工作中我們遇到了很多內容重用的情況。 寫出像“超文本標記語言(HTML)”這樣的第一個實例是標准的,並且從那時起只使用 HTML。 但是,如果我經常重復使用文本塊,就很難始終如一地做到這一點。 我想每次都簡單地寫下首字母縮略詞,然后在頁面加載時,通過 JS 將第一個實例替換為完整的短語。
我嘗試了這個我在網上找到的腳本,但它不起作用並在 chrome 開發人員工具中生成錯誤(TypeError:“body”。html 不是函數):
var replaced = ("body").html().replace('HTML', 'Hypertext Markup Language');
$("body").html(replaced);
這個腳本是錯誤的還是我遺漏了什么?
這個怎么樣:
function textNodesUnder(el){
var n, a=[], walk=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null,false);
while(n=walk.nextNode()) a.push(n);
return a;
}
function replaceAllInPage(oldStr, newStr) {
textNodesUnder(document.body).forEach(node => {
node.textContent =
node.textContent.replaceAll(oldStr, newStr);
});
}
replaceAllInPage('HTML', 'Hypertext Markup Language');
textNodesUnder
由 Phrogz 設計
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.