WedX - журнал о программировании и компьютерных науках

Селекторы jQuery и sIFR

Я пытаюсь использовать селектор jQuery 1.3.1: not с sIFR Ver. 3 Ред. 436.

Я включил использование селектора 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, которую я использую, поэтому любые рекомендации будут оценены.

Это лог ответа Пекке.

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: 

Ответы:


1

Тот факт, что базовые селекторы работают, не обязательно означает, что селекторы JQuery включены. Первый пример (тот, который работает) - это то, что любой браузер может понять без JQUery. Я предполагаю, что активация использования селекторов JQuery не сработала. Возможно, вы захотите опубликовать код, который используете для его активации.

13.01.2010
  • Неплохо подмечено! Я отредактировал свой исходный пост, чтобы включить в него свои изменения в sIFR. 13.01.2010
  • Вы загружаете JQuery до sIFR? 13.01.2010
  • Ага. В html файле у меня есть загрузка jQuery до sIFR. И sIFR, и jQuery также правильно работают на странице. 13.01.2010
  • Странный. Может быть, вы можете попробовать другой фильтр, специфичный для JQuery, например contains :? Если это ничего не меняет, есть ли способ временно взломать функцию JQuery $ и заставить ее выводить каждый вызов console.log(), чтобы посмотреть, будет ли она выполнена? 13.01.2010
  • Селектор содержит также не работал, и я добавил вывод журнала в исходный пост. : not (p) дает тот же тип вывода, за исключением того, что не выводит ошибок типа Unknown pseudo-class or pseudo-element. 13.01.2010
  • Что содержится в строке 17 sifr.js? 13.01.2010
  • В неминифицированной версии это node.parentNode.appendChild(contentNode); 13.01.2010
  • Как выглядит ваш вызов содержимого? У вас есть начальная двоеточие :contains? 14.01.2010
  • Да, мой вызов был selector: ':contains(Disclaimer)', 14.01.2010
  • Я думаю, что заявление об отказе от ответственности должно быть заключено в кавычки. Вы можете добавить цитаты? 14.01.2010
  • Не повезло и с selector: ':contains("Disclaimer")',. Я просто пробовал обновиться до jQuery 1.3.2, который ничего не изменил. 14.01.2010
  • Это действительно очень странно. Можете ли вы подтвердить вне sifr, что селектор работает, например, скрывая все элементы, соответствующие селектору? 14.01.2010
  • Да, я просто попробовал $(':not(a)').css("visibility", "hidden"); сразу после включения sIFR в html файл, и каждый элемент, кроме 'a', имел visibility: hidden. 14.01.2010
  • Хорошо, тогда я не знаю, что мне делать. Прости! Возможно, вы захотите объявить о награде за это и посмотреть, не захочет ли какой-нибудь гуру JQuery взглянуть на это. В качестве альтернативы мне было бы интересно посмотреть, что произойдет, если вы подключите свою собственную функцию-оболочку в SIFR, которая затем, в свою очередь, вызовет $. Во всяком случае, это то, что я попробую в следующий раз. 14.01.2010

  • 2

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

    13.01.2010
  • Моя проблема в том, что все мои элементы имеют имена классов и идентификаторы, которые генерируются динамически. Я хочу, чтобы элементы нижнего уровня использовали sIFR, а вложенные элементы использовали обычный Arial. Поэтому я надеялся использовать: not (вложенный элемент) в качестве фильтра. Другое решение, которое я придумал, - использовать sIFR для создания вложенных элементов как Arial, но это не мое любимое решение. 14.01.2010
  • sIFR заменяет все содержимое любого элемента, на который вы указываете. Похоже, вы используете sIFR для неправильных целей, на самом деле он должен быть ограничен заголовками. 19.01.2010
  • Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]