2010-01-13 2 views
0

Я пытаюсь использовать jQuery 1.3.1's: not selector with sIFR Ver. 3 Rev. 436.jQuery selectors и sIFR

Я включил использование селектора jQuery в соответствии с инструкциями на sIFR Wiki и основной работой селектора, что заставляет меня полагать, что sIFR использует селектора jQuery. Однако более продвинутый селектор jQuery не является.

Чтобы включить селектор jQuery, я удалил строку в мини-файле sifr.js, который начинался с var parseSelector=(function()..., и заменил его на var parseSelector = $;. У меня также есть jQuery, который включен в html-файл перед sIFR.

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 включены. Первый пример (тот, который работает) - это то, что любой браузер может понять без JACKery. Я предполагаю, что активация использования селекторов JQuery не сработала. Вы можете опубликовать код, который вы используете для его активации.

+0

Это хороший момент! Я редактировал свое оригинальное сообщение, чтобы включить мои изменения в sIFR. – 2010-01-13 16:16:05

+0

Вы загружаете JQuery перед sIFR? –

+0

Да. В html-файле у меня загружается jQuery перед sIFR. И sIFR, и jQuery работают правильно на странице. – 2010-01-13 16:31:48

0

:not(p) выглядит как особенно плохая замена для выполнения, не можете ли вы попробовать что-то, что соответствовало бы меньшему количеству элементов, особенно вложенных элементов?

+0

Моя проблема в том, что все мои элементы имеют имена классов и идентификаторы, которые генерируются динамически. Я хочу, чтобы элементы нижнего уровня использовали sIFR, а вложенные элементы использовали обычный Arial. Поэтому я надеялся использовать: not (вложенный элемент) в качестве фильтра. Другое решение, которое я придумал, - использовать sIFR для создания вложенных элементов как Arial, но это не мое любимое решение. – 2010-01-14 03:55:11

+0

sIFR заменяет все содержимое любого элемента, на который вы указываете. Похоже, вы используете sIFR для неправильных целей, это должно быть ограничено заголовками. –