Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как выбрать дочернии элементы "ul li" но чтобы без "ul li ol li" ? (https://javascript.ru/forum/jquery/23547-kak-vybrat-dochernii-ehlementy-ul-li-no-chtoby-bez-ul-li-ol-li.html)

bidloCoder 27.11.2011 14:40

Как выбрать дочернии элементы "ul li" но чтобы без "ul li ol li" ?
 
Есть меню:
<ul>
<div id="menu">
	<li>ul li
		<ol>
			<li>ol li</li> - **ЧТОБЫ ЭТОТ ЭЛЕМЕНТ НЕ ВЫБИРАЛСЯ**
			<li>ol li</li> - **ЧТОБЫ ЭТОТ ЭЛЕМЕНТ НЕ ВЫБИРАЛСЯ**
		</ol>
	</li>
	<li>ul li</li>
	<li>ul li
		<ol>
			<li>ol li</li>  - **ЧТОБЫ ЭТОТ ЭЛЕМЕНТ НЕ ВЫБИРАЛСЯ**
		</ol>
	</li>
<ul>
</div>



Нужно чтобы был такой селектор чтобы выбирал "#menu ul li" но не выбирал "#menu ul li ol li"
т.е. чтобы выбирал только дочернии элементы #menu, но не выбирал дочернии элементы дочерних элементов.

ПС. что-то на подобие $('#menu ul li').not('ol li') но чтобы работало.

ksa 27.11.2011 15:42

Цитата:

Сообщение от bidloCoder
Нужно чтобы был такой селектор чтобы выбирал "#menu ul li" но не выбирал "#menu ul li ol li"

При таком хтмэле не понятно что ты таки хочешь выбирать... :) А вот если внести изменения...

<style type="text/css">
#menu > ul > li > span {
	color: red;
}
</style>
<div id="menu">
	<ul>
		<li><span>ul li</span>
			<ol>
				<li>ol li</li> <!-- - **ЧТОБЫ ЭТОТ ЭЛЕМЕНТ НЕ ВЫБИРАЛСЯ**-->
				<li>ol li</li> <!-- - **ЧТОБЫ ЭТОТ ЭЛЕМЕНТ НЕ ВЫБИРАЛСЯ**-->
			</ol>
		</li>
		<li><span>ul li</span></li>
		<li><span>ul li</span>
			<ol>
				<li>ol li</li>  <!-- - **ЧТОБЫ ЭТОТ ЭЛЕМЕНТ НЕ ВЫБИРАЛСЯ**-->
			</ol>
		</li>
	<ul>
</div>

walik 28.11.2011 14:23

$('#menu ul > li')

??

ksa 28.11.2011 14:25

walik, так вложеный список это часть того ЛИ...

walik 28.11.2011 15:41

Как я понял ему нужно получить все li которые находятся в ul, а не в ol.
Поэтому селектор "#menu ul > li" выберет всех li у которых родитель ul а не ol. Если я конечно правильно понял... :)

bidloCoder 28.11.2011 15:58

Цитата:

Сообщение от walik (Сообщение 139498)
Как я понял ему нужно получить все li которые находятся в ul, а не в ol.
Поэтому селектор "#menu ul > li" выберет всех li у которых родитель ul а не ol. Если я конечно правильно понял... :)

Верно, спасибо, вопрос уже решен, т.к. эли li имели классы => $('#menu li[class!=]')

там где классы не пустые буду выбираться.


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