-1

我尝试使用 jquery 找到一种方法,如果我单击一个 div,则子 div-class 应该摆脱“禁用”类。

例如:

<div class="onclick">
    <div class="Infobox disable"></div>
</div>
<div class="onclick">
    <div class="Infobox disable"></div>
</div>
<div class="onclick">
    <div class="Infobox disable"></div>
</div>
<div class="onclick">
    <div class="Infobox disable"></div>
</div>

那就是我的jQuery:

$('.infoBox').each(function(){
    $('.onclick').click(function(){
        $('.infobox').removeClass('disable');
    });
});

这可行,但是单击后,每个信息框 div 都会删除类禁用,但我不希望如果我单击第一个 onclick div,只有具有类信息框的第一个 div 会删除类禁用

我不想给信息框提供更多的类来分隔它们。

有没有可能解决这个问题?

问候蒂莫斯

4

3 回答 3

3

试试这个:

$('.onclick').click(function(){
    $(this).children('.infobox').removeClass('disable');
});

你的代码:

$('.infobox').removeClass('disable');

将从所有 div中删除disable该类。您需要使用关键字div在当前范围内点击的this,来解决您的问题。

于 2013-09-06T14:14:29.230 回答
1

您需要找到Infobox单击元素内的元素,并且(small )onclick中有拼写错误。Infoboxi

您的代码无法正常工作,因为如果出现案例问题,即使在您单击一个onclick元素时已修复,由于全局选择器,disable该类将从所有元素中删除Infobox$('.Infobox')

它应该是

$('.onclick').click(function(){
    $(this).children('.Infobox').removeClass('disable');
});
于 2013-09-06T14:14:20.307 回答
0
$('.InfoBox').each(function(){
    $('.onclick').click(function(){
        $(this).removeClass('disable');
    });
});

请试试这个。

于 2013-09-06T14:18:10.903 回答