.replace(/ RGBA(0,0,0,0.87)/克,newPrimaryTextColor).replace(/ RGBA(0,0,0,0.87)/克,newPrimaryTextColor)不工作的jquery
是不加工。有其他選擇嗎?
我想通過jquery替換舊的CSS與新的CSS。 CSS文件通過jquery獲取。
.replace(/ RGBA(0,0,0,0.87)/克,newPrimaryTextColor).replace(/ RGBA(0,0,0,0.87)/克,newPrimaryTextColor)不工作的jquery
是不加工。有其他選擇嗎?
我想通過jquery替換舊的CSS與新的CSS。 CSS文件通過jquery獲取。
如果你正在尋找一種方式,通過一個新的替換現有的文本顏色定義,那麼也許下面可以幫助你:
$('span').filter(function() { // span,div,td ... or other desired elements
var match = 'rgb(0, 0, 0)'; // match text-color: black
/*
true = keep this element in our wrapped set
false = remove this element from our wrapped set
*/
return ($(this).css('color') == match);
}).css('color', newPrimaryTextColor); // actually change the color
這是前一個問題Selecting elements with a certain background color的適應,它不僅會用它的明確顏色定義rgb(0, 0, 0)
更改這些元素。更好的方法可能是使用類來代替,但我只能猜測......
問題是正則表達式無法轉義(字符串的開始和結尾)。您需要添加獨立的邏輯來逃避這些字符:
function escapeSpecialChars(s) {
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
}
現在指定你的方法如下規定:
function ReplaceColor() {
var textContent = "Replace rgba(0,0,0,0.87) with red";
var expression = new RegExp(escapeSpecialChars("rgba(0,0,0,0.87)"));
var res = textContent.replace(expression, 'red');
}
你已經把什麼那裏,你的「代碼「可以理解爲使用String方法'replace()'的片段。但是完全不清楚你正在將這個應用到什麼對象(''.'')之前......到目前爲止,這個問題沒有提及jquery。請嘗試解釋(在您的文章中)更詳細的信息,*您想要實現的目標*以及您希望這段代碼如何與您的頁面進行交互。 – cars10m