如何切换两个图像onClick

时间:2013-03-12 18:03:19

标签: javascript image onclick treeview

我正在制作一个可折叠的树视图。 我做到了这一切,我只需要点击它们就可以切换+-图标。

当我使用以下代码的jQuery将图标从+更改为-时,我做了部分:

$(this).attr('src','../images/expand.gif');

问题是,当我再次点击节点时,我不知道如何让它走相反:)

4 个答案:

答案 0 :(得分:6)

这应该有效:

<style>
.expand{
    content:url("http://site.com/expand.gif");
}
.collapse{
    content:url("http://site.com/collapse.gif");
}
</style>

<img class="expand">
<script>
//onclick code
$('img.expand').toggleClass('collapse');
</script>

答案 1 :(得分:2)

查找jquery函数toggleClass:)

http://jsfiddle.net/Ceptu/

HTML:

<div id="box">

    Hello :D

</div>

Jquery的:

$("#box").click(function () {
    $(this).toggleClass("red");
});

的CSS:

#box {
    width: 200px;
    height: 200px;
    background-color: blue;
}

.red {
   background-color: red !important;
}

请记住!重要的是真的很重要!!!

有很多方法可以做到这一点:D

答案 2 :(得分:1)

我想在不上课的情况下这样做。在您的点击事件功能中,您可以执行以下操作:

if($(this).attr('src') == '../images/collapse.gif')
   $(this).attr('src', '../images/expand.gif');
else
   $(this).attr('src', '../images/collapse.gif');

答案 3 :(得分:0)

将plus添加为默认的img src然后定义一个减去类来将图像源更改为负图像

$("selector_for_your_link").click(function () {
      $(this).toggleClass("minus-class");
    });