jquery悬停添加2个类到2个不同的div

发布于 2025-01-07 10:33:20 字数 1538 浏览 0 评论 0原文

我所拥有的如下:(

我在同一页面上有“holder”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当时... 谢谢

What I have is as follow:

(I have "holder" div 2,3 or more times on same page )

<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>

....

then I have some jQuery that goes like this:

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

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

}, function () {

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

});

This add class to .holder when I hover it.
What I need is to when hover over .holder to add another class 'liaddclas' to li element

<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"); 
    });

but this add class liaddclass to all .holder dives I have on page when I hover on .holder and I want to add it to just one div at the time...
THx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

思慕 2025-01-14 10:33:20

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

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

There are a few ways to do this. Here is one:

$(this).find('li').addClass("liaddclas");
老旧海报 2025-01-14 10:33:20

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

$(".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。

To select just the li elements within the currently hovered div you can do this:

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

This is just one of many ways to do it, but the syntax $("li",this) selects all li elements within the context of this.

The syntax you had, $(this "li") is simply invalid JavaScript.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文