2014-01-30 5 views
2

Я изо всех сил пытаюсь понять, почему следующая скрипка не будет работать? Просто пытаюсь добавить класс!Проблема с самыми основными основными вопросами jQuery

Простое начало.

Спасибо, пожалуйста, не меняйте меня ... я знаю его основные.

HTML:

<ul> 
    <li class="box">a</li> 
    <li class="box">b</li> 
    <li class="box">c</li> 
    <li class="box">d</li> 
</ul> 

CSS:

li { 
    height:20px; 
    width:20px; 
    background-color:red; 
    display:inline-block; 
} 

li .hover { 
    background-color:blue; 
} 

JQuery:

$('li').addClass('hover'); 

http://jsfiddle.net/JGqAX/

+3

Для этого вам не нужны js, вы можете использовать правило «li: hover» –

+0

3 практически одинаковые ответы. : P – Scimonster

+0

@chrisvdp, но ОП не пытается что-либо сделать на 'hover', просто добавляя класс с именем' hover'. – DaniP

ответ

7

На вашем CSS декларация:

li .h более

Мишени элемент с классом .hover внутри li как:

<li> <p class="hover">Select this element</p> </li> 

Понадобится:

li.hover

Элемент li с классом hover. Будет соответствовать:

<li class="hover">Make me blue</li> 

http://jsfiddle.net/JGqAX/1/ демо-

+0

Grrr ... Я знал, что это будет что-то глупое ... там я смотрю на сценарий! –

+0

@PeteNorris: P наиболее часто встречается, когда вы ожидаете некоторую ошибку JS! Bam - ошибка CSS. – DaniP

2

Это не JQuery, это ваш селектор CSS, который должен быть:

li.hover 

, который выбирает "li элементы с классом hover", вместо:

li .hover 

, который выбирает "элементы с классом hover, которые являются потомками li элементов"

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