2012-06-07 7 views
0

Можно создать дубликат:
CSS :checked - change <td> background
Is there a CSS parent selector?CSS выбора элемента, расположенного перед другим элементом

 <ul class="submenu"> 
     <li><a href="...">Submenu 3</a></li> 
     <li><a href="..." >I need to select this element</a> 
      <ul class="submenu"> 
      <li><a href="...">Sub-submenu 3</a></li> 
      <li><a href="...">I need to select this element</a> 
       <ul class="submenu"> 
       <li><a href="...">Sub-sub-sub 1</a></li> 
       <li><a href="...">Sub-sub-sub 2</a></li> 

В принципе, мне нужно выбрать каждый <li> элемент, который расположен ПЕРЕД ul элемента с class="submenu" (ul class="submenu" Родитель)

нужно выбрать этот элемент

+2

Это невозможно. Вы могли бы (сделать что-то вроде) переместить 'class =" подменю "в' li', а затем вы можете просто использовать '.submenu> ul' и' .submenu'. – thirtydot

+0

Не это снова ... – BoltClock

+0

@BoltClock Почему вы закрыли мой вопрос? Это дубликат для чего? – Omar

ответ

0

Это не представляется возможным. Лучше всего использовать jQuery. Это даст вам много возможностей для выполнения этой задачи.

Согласно приведенной ниже ссылке, похоже, что CSS4 будет иметь возможность указать, какой элемент вы хотите.

Is there a CSS parent selector?

5

Это не возможно в настоящее время с помощью CSS в одиночку. Функциональность is currently being specced, но на самом деле она не будет доступна для публичного использования в течение некоторого времени (если когда-либо).

/* Only matches LIs with a UL.submenu descendant */ 
li:has(> ul.submenu) { 
    background:red; 
} 

Примечание: Приведенный пример действителен в соответствии с проектом текущего редактора, но синтаксис может изменить или функциональные возможности могут быть удален полностью, прежде чем браузер вендоров даже начать его реализацию.

Первоначально взяты из https://stackoverflow.com/a/10436066/526741

Смежные вопросы