2013-06-04 3 views
0

다음 jquery 코드를 사용하여 이미 DOM 헤드에 추가 된 스타일 시트를 제거하고 있습니다.각 일치 jQuery 정규식

는 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 http://jsfiddle.net/jagan2explore/tBrTU/1/

답변

0

의 실제 코드 (위의 정확한 코드가 아닌, 나는 jsfiddle의 실제 코드를 참조 일부 슬래시가 자동으로 화면에 제거됩니다 참조)

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

감사를 찾습니다. 플러스 & cssid (+ cssid +) 사이에 공백이 있습니다. 공백이 허용 가능합니까? –

+0

@JaganK :'+'공백은 중요하지 않습니다. – Toto