2010-01-13 4 views
0

jQuery 1.3.1 : sIFR Ver 선택기 사용하려고합니다. 3 Rev. 436.jQuery 선택기 및 sIFR

sIFR Wiki의 지침에 따라 jQuery 선택기를 사용할 수있게되었으며 기본 선택기의 작업으로 인해 sIFR이 jQuery 선택기를 사용하고 있다고 생각하게되었습니다. 하지만 고급 jQuery 셀렉터는 그렇지 않습니다.

jQuery 선택기를 활성화하려면 var parseSelector=(function()...으로 시작하여 줄인 sifr.js의 줄을 제거하고 var parseSelector = $;으로 바꿉니다. 또한 sIFR 전에 html 파일에 jQuery가 포함되어 있습니다.

sifr-config.js

var mg = { src: '/static/mg.swf' }; 
sIFR.activate(mg); 
sIFR.replace(mg, { 
    selector: '#nav a', #This works 
    ... 
}) 
sIFR.replace(mg, { 
    selector: ':not(p)', #This doesn't work 
    ... 
}); 

내 유일한 다른 옵션은 내가 사용 CMS를 해킹하는 것입니다, 그래서 어떤 지침을 주시면 감사하겠습니다.

이것은 Pekka에 대한 응답 로그입니다.

selector: [object HTMLDocument] 
selector: #top-nav a 
selector: [object HTMLDocument] 
selector: 
selector: :contains(Disclaimer) 
selector: [object HTMLDocument] 
selector: 
Unknown pseudo-class or pseudo-element 'contains'. 
[Break on this error] undefined 
Node cannot be inserted at the specified point in the hierarchy" code: "3 
[Break on this error] var sIFR=new function(){var O=this;var E...(<br>)\s*/g,"$1"),primaryLink:k||{}}}};\nsifr.js (line 17) 
selector: #top-nav a 
selector: [object HTMLDocument] 
selector: 
selector: :contains(Disclaimer) 
selector: [object HTMLDocument] 
selector: 

답변

0

기본 선택기가 작동한다고해서 반드시 JQuery의 선택기가 활성화되지는 않습니다. 첫 번째 예제 (작동하는 예제)는 모든 브라우저가 Jquery없이 이해할 수있는 것입니다. 내 생각 엔 JQuery 선택기를 활성화하는 것이 효과가 없다는 것이다. 활성화하는 데 사용하는 코드를 게시 할 수 있습니다.

+0

좋은 지적입니다! 내 원본 게시물을 편집하여 sIFR에 대한 변경 사항을 포함 시켰습니다. –

+0

sIFR 이전에 JQuery를로드 중입니까? –

+0

예. html 파일에서 sIFR 전에 jQuery 로딩이 있습니다. sIFR과 jQuery 모두 페이지에서 제대로 작동합니다. –

0

:not(p)은 특히 나쁜 대체로 실행되는 것처럼 보입니다. 더 적은 수의 요소, 특히 중첩 된 요소와 일치하는 것을 시도 할 수 없습니까?

+0

제 문제는 모든 요소에 동적으로 생성되는 클래스 이름과 ID가 있다는 것입니다. 하위 레벨 요소에 sIFR을 사용하고 중첩 요소는 일반 Arial을 사용하도록하고 싶습니다. 그래서 : (중첩 된 요소) 필터를 사용하지 않으려 고합니다. 다른 해결책은 sIFR을 사용하여 중첩 된 요소를 Arial로 처리하는 것이지만, 내가 좋아하는 해결책은 아닙니다. –

+0

sIFR은 사용자가 가리키는 모든 요소의 전체 내용을 대체합니다. 잘못된 목적으로 sIFR을 사용하는 것처럼 들리지만 머리글에만 국한되어야합니다. –