簡體   English   中英

內部 html 替換為括號中的文本

[英]Inner html replace with text in brackets

我可以替換此文本 -->>

"querying policy failed: No such file or directory""HELLO"很好。

document.body.innerHTML = document.body.innerHTML.replace(
    /querying policy failed: No such file or directory /g,
    "<span style='color:black;background-color:#ABB2B9'>HELLO</span>")

但我想替換此文本 -->> "querying policy failed: No such file or directory (2)" ,由於括號中的文本 -> (2) 而不會發生這種情況。

下面的代碼不起作用。

document.body.innerHTML = document.body.innerHTML.replace(
    /querying policy failed: No such file or directory (2)/g,
    "<span style='color:black;background-color:#ABB2B9'>HELLO</span>")

任何建議,如何更換

querying policy failed: No such file or directory (2) to HELLO

您必須通過在括號前插入\\來轉義括號,因為它們是用於捕獲組的保留字符。

您可以在Groups and Ranges 中了解更多關於 RegExp 捕獲組的信息- JavaScript | MDN和關於這個問題中的字符轉義。

 document.querySelector('p').innerHTML = document.querySelector('p').innerHTML.replace(/querying policy failed: No such file or directory \\(2\\)/g, '<span style="color: black; background-color: #ABB2B9">HELLO</span>');
 <p>querying policy failed: No such file or directory (2)</p>

 // escape the parentheses with backslashes directly in the string. //document.body.innerHTML = document.body.innerHTML.replace( // /querying policy failed: No such file or directory \\(2\\)/g, // "HELLO"); // in two steps. // 1. remove the parens; // 2. remove the rest of the string. document.body.innerHTML = document.body.innerHTML .replace(/[()]/g, "") .replace(/querying policy failed: No such file or directory 2/g, "HELLO");
 querying policy failed: No such file or directory (2)

參考: https : //stackoverflow.com/a/9115461/1171702

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM