- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
как написать
если внутри тега с классом .main есть тег с классом .main2, то для всех тегов с именами классов .sub расположенных после найденного .main2 и до ближайшего класса .end (их там несколько) задать стиль display:inline
main2list = $('.main').find('.main2');
if (проверяем длину main2list){
main2list.find('.sub, .end').each(
function() {
if ($(this).hasclass('.sub')) $(this).css(....
if ($(this).hasclass('.end')) return;
}
);
}
Не проверял
2Chukcha что-то здесь не то. 1) Нет гарантии, что find('.sub, .end') сложит все в том порядке, в котором хотелось бы. 2) цикл each не разрывается.
2manitoba надо бы уточнить .sub, .main2 и .end - это разные теги или одни и те же. на одном уровне или могут быть вложенные?
---------- Добавлено 14.06.2013 в 12:49 ----------
http://learn.javascript.ru/play/UqOCw - правильный код если считать что все на одном уровне
1-ое. написал, что не проверял
2-ое. не вижу причин в построении дерева dom, хотя варианты, конечно, возможны.
3. как это цикл не разрываеется? hasClass(end) return
4. см. п.1 :)
---------- Post added 14-06-2013 at 21:57 ----------
а если var e = $('.main:has(.sub)').find('.main2:first'); будет несколько main2?
3. как это цикл не разрываеется? return
Вспомнил. Спасибо. Забыл что это есть. Склероз.
2-ое. не вижу причин в построении дерева dom, хотя варианты, конечно, возможны.
Надо смотреть в исходниках и то не факт, что порядок отбора не изменится.
find('.sub, .end') - то ли они пройдут по дереву с проверкой обоих критериев одновременно, то ли они сначала отберут .sub а потом вторым проходом по DOM- .end и тогда порядок будет нарушен. А если еще jquery я иногда меняю на zepto, а там свой парсер и тоже могут возникнуть нюансы
а если var e = $('.main:has(.sub)').find('.main2:first'); будет несколько main2?
Тоды ой. Нужно дополнительный цикл по .main
var e = $('.main:has(.sub)').find('.main2:first'); будет несколько main2?
Ну да. Для надежности можно прокрутить по всем main
main2list.find('.sub, .end').each(main2list.find('*').each(Это как вариант использования, возможно здесь порядок выбора будет неизменен.
Но * это не совсем хорошо
- возможно самое то, - будут выбраны дети, но не внуки.По-любому next() гарантированно дает ожидаемый результат. + очевидность кода + в общем случае, возможно, что и более эффективный потому что неизвестно сколько будет элементов после .end
Если использовать next(), то нужнои учесть варианты...
Конечно, не зная структуры dom у ТС, можно напридумывать что угодно.
Поговорили Чукча с Аявриком :)