jquery 如何改变背景图像只有下一个h2

os8fio9y  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(127)

jquery

$(document).ready(function() {
    $(".nag").click(function(){
        $(".nag").not(this).next(".zaw").slideUp("slow");
        $(this).next(".zaw").slideToggle("slow");
        $("h2").css("background-image", "url(img/arr_top.png)");    
        });
    });

HTML

<div class="nag">
       <h2>H2</h2>
    </div>
    <div class="zaw">
     </div>
<div class="nag">
       <h2>H2</h2>
    </div>
    <div class="zaw">
     </div> 
<div class="nag">
       <h2>H2</h2>
    </div>
    <div class="zaw">
     </div>

你好,这是我的代码滑动后,点击一个div的。第二次单击后,滑动切换。
我应该在jquery中添加什么来改变background-image,只有下一个h2(现在点击后所有h2都改变了)在点击后,第二次点击后background-image返回到background-image的第一个值(img/arr.png)
我将非常感谢您的帮助,因为这件事似乎很简单,我有两天添加.下一个()在不同的地方没有:)

zysjyyx4

zysjyyx41#

目前,您正在获取全局选择器,即。h2,而不是在单击的元素中使用h2。
替换如下:

$("h2").css("background-image", "url(img/arr_top.png)");

用这个:

$(this).find("h2").css("background-image", "url(img/arr_top.png)");
7kjnsjlb

7kjnsjlb2#

h2位于div之下,因此它应该是,否则将全局生效

$(this).children("h2")
$(document).ready(function() {
  $(".nag").click(function() {
    $(".nag").not(this).next(".zaw").slideUp("slow");
    $(this).next(".zaw").slideToggle("slow");
    $(this).children("h2").toggleClass('bg')
  });
});
.nag {
  border: 1px solid red;
}
.bg {
  background-image: url(http://placeimg.com/640/480/any);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="nag">
  <h2>H2</h2>
</div>
<div class="zaw"></div>

相关问题