2014-09-23 3 views
0

У меня есть литий, который я хочу, когда я наводил на каждого из них, чтобы переключить класс только для каждого из них.Предотвращение ToggleClass для нескольких элементов

Прямо сейчас, когда я наводил курсор на каждый li, все LI получат заданный класс. Вот HTML и JQuery

<li><a class="one" href="#"> 
<img src="http://hhhhold.com/s"/></a> 
<div id="project-title" class="me">Fandango 
    <span id="project-more">Learn more</span> 
</div> 
</li> 



$('.one').hover(function() { 
    $('.me').closest('span').removeClass("dblock"); 
    $('.me').closest('span').toggleClass('dblock'); 
}); 
+0

Почему бы не использовать: hover pseudo-selector? –

ответ

1

Использование $(this) для ссылки на активный DOM элемент:

$('.one').hover(function() { 
    $(this).next('#project-title').find('span').removeClass('dblock'); 
    // etc... 
}); 

идентификаторы должны быть уникальными в HTML тоже ... повторяешь ты в #project-title ID? Если это так, то это должен быть класс.

+0

OK работает для меня, но как я могу удалить класс, когда вы наведете на другой элемент? – Amir

+0

'this' относится к элементу DOM,' $ (this) 'является объектом jQuery. –

+0

Hover имеет событие включения и выключения, используйте это или используйте CSS :-) –

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