0

我正在使用以下 jquery 代码来删除已附加到 DOM 头部的样式表。

CSS 样式表的开头将有以下注释行

/* CSSID=RTP-执行 */

我使用以下代码删除已附加的 CSS。

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

}

这段代码工作正常。但是,如果我需要将 CSSID 动态传递到匹配表达式中

如果我使用 var cssid = RTP-Executive;

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

它不工作。(上面不是确切的代码,我看到一些斜线在这个显示中被自动剥离,参见 jsfiddle 中的实际代码)

这是 jsfiddle http://jsfiddle.net/jagan2explore/tBrTU/1/中的实际代码

4

1 回答 1

0

将您的字符串放在引号中:

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

似乎你在 and 之间也有一个空格Executive*/所以匹配应该是:

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

甚至:

match('/\/\*\s*CSSID=' + cssid + '\s*\*\//'))
于 2013-06-04T07:42:26.117 回答