Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Помогите состьавить сложный селектор (https://javascript.ru/forum/xhtml-html-css/44406-pomogite-sostavit-slozhnyjj-selektor.html)

Кирюха =) 18.01.2014 14:47

Помогите состьавить сложный селектор
 
Всем привет! Вообщем суть такова. Представте разметку
<ul>
  <li>....<li>
  <li>  <!--  <===== ВОТ для него-->
    <ul>......</ul>
  <li>
</ul>


Нужен селектор для LI в котором есть UL. Хотел спросить яндекс или гугл но не смог нормально запрос составить поисковой запрос.....

Vlasenko Fedor 18.01.2014 14:57

http://www.w3.org/TR/css3-selectors/#selectors

Кирюха =) 18.01.2014 15:05

Вы наверное подумали что мне подходит селектор E:empty дав мне этот линк. Нет не подходит он мне тк в других LI тоже будут элементы(в частности a). Прошу подскажите селектор :)

Vlasenko Fedor 18.01.2014 15:57

E:empty - это пустой элемент
Из показанной вами разметки это второй элемент(:nth-child(n)) или последний(last-child)? Приведите полную правильную разметку
var allli = document.querySelectorAll('li');
var youli = allli[1]; /1 индекс элемента

Кирюха =) 18.01.2014 16:02

<ul>
  <li class="current_page_item"><a href="http://40ms.ru/">Главная</a></li>
  <li class="page_item page-item-2"><a href="http://40ms.ru/?page_id=2">Пример страницы</a></li>
  <li class="page_item page-item-3"><a href="http://40ms.ru/?page_id=3">Пример страницы2</a>
     <ul>еще пункты</ul>
  </li>
</ul>

Кирюха =) 18.01.2014 16:03

Нужно не по номерам селекторов подбирать а именно если у Li есть вложенный UL.

Vlasenko Fedor 18.01.2014 16:18

var allul = document.querySelectorAll('li>ul'),
	len = allul.length,
	par, el;
for (; len--;) {
	el = allul[len];
	par = el.parentNode || el.parentElement; //Это li внутри которого ul
}

Кирюха =) 18.01.2014 16:59

спасибо за пример, просто я и так знал как с помощью js это сделать, я хотел узнать как это при помощи css сделать.
:blink: ух ты
for (; len--;)
цикл можно использовать без счетчика!!!! Век живи век учись)

Vlasenko Fedor 18.01.2014 17:39

Цитата:

Сообщение от Кирюха =)
цикл можно использовать без счетчик

for (обьявление переменных; работаем, условие; действие, действие) и цикл можно вечный запустить
for(; /* */; /* */){//пока не будет break;}
Цитата:

Сообщение от Кирюха =)
как это при помощи css сделать

никак, думайте как перенести правила на li>ul


Часовой пояс GMT +3, время: 09:02.