jquery hover добавляет 2 класса к 2 различным div - PullRequest
0 голосов
/ 18 февраля 2012

То, что у меня есть, выглядит следующим образом:

(у меня есть «держатель» div 2,3 или более раз на той же странице)

<div class="holder">

    <div class="one">one something </div>
    <div class="two">two something</div>
    <ul class="ulclass">
        <li></li>
        <li></li>
        <li></li>
    <ul>
</div>

<div class="holder">

    <div class="one">one something </div>
    <div class="two">two something</div>
    <ul class="ulclass">
        <li></li>
        <li></li>
        <li></li>
    <ul>
</div>

....

тогда у меня есть несколько jQuery, которые выглядят так:

$(".holder").hover(function()
{

$(this).addClass("addedClass");

}, function () {

$(this).removeClass("addedClass");

});

Это добавляет класс к .holder при наведении на него курсора. Мне нужно, чтобы при наведении курсора на .holder добавить еще один класс liaddclas к элементу li

<div class="holder addedClass">
    <div class="one">one something </div>
    <div class="two">two something</div>
    <ul class="ulclass">
        <li class="liaddclas"></li>
    <ul>
</div>

I tried with 
$(".holder").hover(function(){
        $(this).addClass("addedClass");
        $(this "li").addClass("liaddclas");
        }, function () {
        $(this).removeClass("addedClass");
        $(this "li").removeClass("liaddclas"); 
    });

но это добавляет класс liaddclass ко всем погружениям .holder, которые у меня есть на странице, когда я нахожу на .holder и хочу добавить его только к одному div в то время ... THx

Ответы [ 2 ]

1 голос
/ 18 февраля 2012

Есть несколько способов сделать это.Вот один из них:

$(this).find('li').addClass("liaddclas");
0 голосов
/ 18 февраля 2012

Чтобы выбрать только элементы li в текущем элементе div, вы можете сделать это:

$(".holder").hover(function(){
    $(this).addClass("addedClass");
    $("li",this).addClass("liaddclas");
}, function () {
    $(this).removeClass("addedClass");
    $("li",this).removeClass("liaddclas"); 
});

Это только один из многих способов сделать это, но синтаксис $("li",this) выбирает все элементы li в контексте this.

Синтаксис, который вы использовали, $(this "li") - это просто неверный JavaScript.

...