![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 3 Всего: 260 |
мне надо, отталкиваясь от span#source получить только родительские li, удовлетворяющие условию "ul#ul2 li" т.е. надо получить [li#li3, li#li2], но не [li#li3, li#li2, li#li1] пробовал:
ко всему, раздел справки mootools, описывающий селекторы, попросту недоступен: ссылка из самой же документации ведет к пустой странице потому если и есть какие хитрые псевдоселекторы навроде jquery'вского ":match",(че-то я jquery нечто фантастическое приписал) то узнать об этом я не могу :( контекст: есть дерево на вложенных ul/li. надо для узла выбрать всех предков, но предков только в пределах дерева. li внутри дерева никак(ни классом, ни другими атрибутами) не выделяются и не отличимы от таких же li за пределами дерева. [Updated: 15.03.2010] добавил соседей, которые не должны быть выбраны. а то запутывало. |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 3 Всего: 260 |
в jquery работало бы:
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 3 Всего: 260 |
и ещё. рабочий вариант
не устраивает по соображениям лакончности и переносимости надеюсь на решение встроенными средствами. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 1 Всего: 92 |
Хм.. Прям интересно стало
Если для source есть именно ид-шник, то можно, скажем так:
Селекторы (судя по коду) MooTools использует в полноценной форме только для getElements. getParents/filter и пр. пользуюся "усечённым" match, который работает с одним элементов, в отрыве от структуры (т. е. в filter('#ul2 li') li ничего не значит, ищутся элементы с ид ul2). Ужас! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 3 Всего: 260 |
ага :( после jquery это первое, что неприятно удивило. не, задачу хочется решить обобщенно. привязка к id только для однозначности. спасибо за конструкцию, правда, у меня уже есть похожая. наверное, наши варианты могут работать с разной скоростью, все же моя идет "снизу вверх", а твоя - "сверху вниз" |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 1 Всего: 92 |
А зачем собственно вообще MooTools? Я не знаю, как там что но селекторы дико убоги. Во-первых, как вот оказалось их использовать можно только для прямой выборки (getElements) и всё! Во-вторых, querySelector/querySelectorAll MooTools "использует" только для определения версии браузера, т. е. производительность всегда не будет достойной (по сравнению с норамльным селектор энджином)...
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 3 Всего: 260 |
Любитель, дело в том, что не я выбирал библиотеку, потому не могу аргументировать использование именно mootools. с другой стороны, с учетом несложной логики имеющегося javascript-кода, это первый "порог", о который я споткнулся.
|
|||
|
||||
| jsse |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 99 Регистрация: 1.5.2006 Где: Кривой Рог Репутация: нет Всего: 2 |
Документацию по селекторам можно найти в меню http://mootools.net/docs/core
http://mootools.net/docs/core/Utilities/Selectors На счет функции filter она действительно использует метод match который ищет по одиночному селектору, возможно разработчики выбрали такое решение из соображений производительности. Не секрет что в moo для каждого элемента можно переназначить или добавить свою функцию и если вы хотите чтоб функция filter работала так же как и в jquery её можно легко перекрыть
Я взял стандартную функцию Elements.filter и заменил в ней
Теперь она будет работать так же как и в jquery
|
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |