切换加号改变负面

时间:2014-10-18 02:45:40

标签: jquery html css

我试图将+更改为-切换,但是很难过,你能否向我推荐一些关于如何实现这一目标的教程?

我甚至不知道从哪里开始,我有我的代码:

$('span .toggle', $(this)).text('+');
    });

    // display the current li with a '-' marker
    $('p', li).slideDown(delay);
    $('span', li).text('-');

但显然我做错了。

这是我的小提琴:

JSFiddle

任何想法?

4 个答案:

答案 0 :(得分:1)

我会向你推荐,最好的起点是简单 - 这是关键。从你熟悉的东西开始,逐步建立起来。将你的事情分解为几步,经常保存,经常进行实验,当出现问题时,撤消。

我怀疑这是你想要的最终代码? http://jsfiddle.net/qj58Lm5q/4/

$(function () {
    $("li.subMenu").click(function () {
        var slideDown = $(this).find(".toggle").text() == "+" ? false : true;
        $(".subMenu-link").slideUp();
        $(".toggle").text('+');

        if (!slideDown) {
            $(this).find('.subMenu-link').slideDown();
            $(this).find('.toggle').text('-');
        }
    });
    $(".subMenu-link").not(':first').hide();
});

请注意,我删除了所有CSS,为此演示清理了一些多余的HTML,并且几乎取消了整个JavaScript。从那里慢慢地工作。添加你的CSS,检查。添加HTML,检查。添加一点脚本,检查。如果有什么破裂,请问为什么,然后还原。

只要你不放弃,你就会成功。

答案 1 :(得分:1)

小提琴:DEMO

   $("li.subMenu").click(function () {
        $(this).find('ul').slideToggle();
        var ul =  $(this).find('.toggle');

        if (ul.text() == "+")
        $(ul).text("-");
        else
        $(ul).text("+");
        });

答案 2 :(得分:0)

小提琴:DEMO 这就是我为你所做的。

$("li.subMenu").click(function () {
    $(".subMenu-link",this).toggle("slow", function() {
        var text =$(this).prev().text() == '-' ? '+' : '-';
        $(this).prev().text(text);
    });
});

答案 3 :(得分:0)

$('#clickElementId').on('click',function(){
    $(this).text($(this).text() == '+' ? '-' : '+');
  })