Jquery选择之前的元素和删除/添加类之后的元素

时间:2014-10-06 09:24:33

标签: jquery html class

我正在尝试从div内容中删除2个类:

<div class="content">
 <div class="1 hide">class1</div>
 <div class="2">class2</div>
 <div class="3 hide">class3</div>
</div>
<div class="content">
 <div class="1 hide">class1</div>
 <div class="2">class2</div>
 <div class="3 hide">class3</div>
</div>
<div class="content">
 <div class="1 hide">class1</div>
 <div class="2">class2</div>
 <div class="3 hide">class3</div>
</div>



 <script>
     $( ".content" ).click(function() {
remove classes hide from class 1 and 3 in the content div if clicked on that div 
but leave the other content divs with class 1 and 3 hidden 

     });
    </script>

这是最好的方法,我无法弄清楚:(

感谢您的帮助!

4 个答案:

答案 0 :(得分:3)

您需要使用像

这样的上下文基础选择器

$(".content").click(function () {
    $(this).find('.hide').removeClass('hide')
});
.hide {
    display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="content">
    <div class="1 hide">class1</div>
    <div class="2">class2</div>
    <div class="3 hide">class3</div>
</div>
<div class="content">
    <div class="1 hide">class1</div>
    <div class="2">class2</div>
    <div class="3 hide">class3</div>
</div>
<div class="content">
    <div class="1 hide">class1</div>
    <div class="2">class2</div>
    <div class="3 hide">class3</div>
</div>

答案 1 :(得分:1)

您可以使用:

$(".content").click(function () {
    $(this).children().removeClass("hide");
});

fiddle

<强>参考文献:

.children()

.removeClass()

答案 2 :(得分:0)

尝试 DEMO

 $(".content ").on("click", function () {
    $(this).find('.hide').removeClass('hide');
});

答案 3 :(得分:0)

使用multiple selectors查找第1和第3类。将选择器优化为所单击内容元素的context

试试这段代码:

$(".content").click(function () {
    $('.1, .3', this).removeClass("hide");
});

fiddle