jquery hover将2个类添加到2个不同的div中

时间:2012-02-17 20:07:37

标签: jquery hover addclass

我的具体如下:

(我在同一页面上有“持有人”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"); 
    });

但是当我将鼠标悬停在.holder上时,我将这个类liaddclass添加到页面上的所有.holder潜水中,我想将它添加到当时只有一个div ... THx的

2 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。这是一个:

$(this).find('li').addClass("liaddclas");

答案 1 :(得分:0)

要仅选择当前悬停的div中的li元素,您可以执行以下操作:

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

这只是众多方法中的一种,但语法$("li",this)会选择this上下文中的所有li元素。

您拥有的语法$(this "li")只是无效的JavaScript。