Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2017, 10:27
Новичок на форуме
Отправить личное сообщение для hubble Посмотреть профиль Найти все сообщения от hubble
 
Регистрация: 01.06.2015
Сообщений: 3

Дочерний селектор
При использовании такого селектора, необходимые элементы не выбираются. Выбирается все: и Элементы списка и Дочерний элемент и еще дальше.
Как выбрать ТОЛЬКО Элементы списка (без дочерних)
div#container > ul > li{color:darkmagenta;}

<div id="container">
  <ul>
    <li> Элемент списка
      <ul>
        <li> Дочерний элемент</li>
        <ul>
          <li> Дочерний элемент, который глубже</li>
          <li> И еще один дочерний элемент</li>
        </ul>
      </ul>
    </li>
    <li> Элемент списка </li>
    <li> Элемент списка </li>
    <li> Элемент списка </li>
  </ul>
</div>


Такой же вопрос и в этом примере:

div > span { background-color: yellow; }

<div>
  <span>Span 1 в div
    <span>Span 2 в span, который в div</span>
  </span>
</div>
<span>Span 3. Не в div вообще</span>


Должен был подкраситься только Span 1 в div, а подкрашивается и span 1 и span 2
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2017, 10:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от hubble
Как выбрать ТОЛЬКО Элементы списка (без дочерних)
Твой селектор правильный.
Вот только свойство для проверки ты выбрал неудачное...
Установка цвета распространяется на детей элемента.

Замени на рамку и увидишь, что все правильно выбрано.

<style type='text/css'>
div#container > ul > li {
	border: 1px solid;
}
</style>
<div id="container">
	<ul>
		<li> Элемент списка
			<ul>
				<li> Дочерний элемент
					<ul>
						<li> Дочерний элемент, который глубже</li>
						<li> И еще один дочерний элемент</li>
					</ul>
				</li>
			</ul>
		</li>
		<li> Элемент списка </li>
		<li> Элемент списка </li>
		<li> Элемент списка </li>
	</ul>
</div>

Последний раз редактировалось ksa, 22.12.2017 в 10:40.
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2017, 10:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от hubble
Такой же вопрос и в этом примере:

div > span { background-color: yellow; }
И тут свойство выбрано неудачно...
Т.к. цвет фона он кагбэ у всего элемента. А его дети ведь внутри, на этом самом фоне.
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2017, 12:37
Новичок на форуме
Отправить личное сообщение для hubble Посмотреть профиль Найти все сообщения от hubble
 
Регистрация: 01.06.2015
Сообщений: 3

ksa, спасибо.
Но во втором случае все равно выделяется вся строка (и span 1 и span 2)
div > span { border: 1px solid; }


Первый пример вроде бы понял, но решил попробовать выделить только первые li во всех ul. Применил такой селектор:
ul + li { border: 1px solid; }
.
Вроде бы все как по правилу: X + Y { border: 1px solid; } - Селектор будет выбирать только элемент типа Y, который идет сразу после элемента Х.
Ничего не выделилось. Я прошу прощения, что задаю элементарные вопросы. Но пока дальше не получается двинуться.

Испытывал в jsfiddle (Firefox Quantum)
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2017, 13:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от hubble
Но во втором случае все равно выделяется вся строка (и span 1 и span 2)
Он просто внутри первого, это нужно понимать.

Разницу видишь?

<style type='text/css'>
div > span {
	border: 1px solid;
}
#test span {
	border: 1px solid;
}
</style>
<div>
	<span>Span 1 в div
		<span>Span 2 в span, который в div</span>
	</span>
</div>
<div id='test'>
	<span>Span 1 в div
		<span>Span 2 в span, который в div</span>
	</span>
</div>
<span>Span 3. Не в div вообще</span>
Ответить с цитированием
  #6 (permalink)  
Старый 22.12.2017, 13:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от hubble
Я прошу прощения, что задаю элементарные вопросы. Но пока дальше не получается двинуться.
Ты лучше скажи, чего хочешь получить в итоге?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отловить селектор soltx jQuery 14 12.03.2015 09:59
Помогите с Jquery запросом. как выбрать дочерний элемент сложенной структурой Keith Events/DOM/Window 4 12.05.2014 22:03
Динамический селектор raindew Элементы интерфейса 3 20.11.2011 18:37
Предыдущий селектор KupueIIIKo jQuery 1 05.10.2011 01:27
задействовать только дочерний элемент roma86 jQuery 2 03.10.2009 21:36