2013-06-04 73 views
0

我正在使用下面的jquery代碼來刪除已附加到DOM頭部的樣式表。jQuery正則表達式每個匹配

的CSS樣式表將具有以下注釋行之初

/* CSSID = RTP執行*/

我用下面的代碼刪除CSS,這已經是被追加。

if (ele.innerHTML && ele.innerHTML.substring(0, 30).match(/\/\* CSSID=RTP-Executive \*\//)) { 
    $(ele).remove(); 

} 

此代碼正常工作。 然而,如果我需要在CSSID動態傳遞到匹配表達式

如果我使用 變種cssid = RTP執行;

匹配( '/ * CSSID =' + cssid + '* /'))

它不工作。 (以上是沒有確切的代碼,我看到一些斜線在這個顯示屏上自動剝離,見的jsfiddle實際的代碼)

這裏是的jsfiddle http://jsfiddle.net/jagan2explore/tBrTU/1/

回答

0

實際的代碼把你的字符串中引號:

var cssid = 'RTP - Executive'; 
// here __^ and here __^ 

似乎還你有Executive*/之間的空間,所以比賽應該是:

  match('/\/\* CSSID=' + cssid + ' \*\//')) 
//space added here __^  and here __^ 

甚至:

match('/\/\*\s*CSSID=' + cssid + '\s*\*\//')) 
+0

實際上cssid來自點擊事件,看看到現在http://jsfiddle.net/jagan2explore/tBrTU/3/感謝 –

+0

,我想給我這個問題的處所。 plus和cssid(+ cssid +)之間有一個空格,這些都是允許的嗎? –

+0

@JaganK:周圍的空間'+'無所謂。 – Toto