在2个文本JQuery之间切换

时间:2013-02-23 21:05:22

标签: jquery toggle

我经常在这里找到帮助,我做了我的研究,并且按照任何逻辑,这应该有效,这两种方式中的任何一种,但它没有。 当我点击#1或#2时,文本会在另一个元素中切换,但它不会更改自己的html或文本,我不介意。我想在点击元素id =“1”和id =“2”时更改2个文本,以及我在id =“rita”和id =“filip”中进行更改。 最可能的是它很简单但是,我很困难,提前谢谢:)

$(document).ready(function() {
$("#rita").hide();
$("#filip").hide();

$("#1").click(function()  {
    $("#rita").toggle(200);
    $("#1").toggle(     function(){
                        $("this").html("-Sveta Rita");},
                        function(){
                        $("this").html("+Sveta Rita");}
                   );

    });

$("#2").click(function()  {
    var originalValue = $(this).val();
    $(this).val(originalValue == '-Sveti Filip' ? '+Sveti Filip' : '-Sveti Filip');

    $("#filip").toggle(200);



    });

});

1 个答案:

答案 0 :(得分:1)

不推荐使用切换两个函数的toggle()版本,但在text()中使用函数调用并切换返回的文本应该有效:

$(document).ready(function () {
    $("#rita").hide();
    $("#filip").hide();

    $("#a1").on('click', function () {
        $("#rita").toggle(200);
        $(this).text(function () {
            var current_value = $.trim($(this).text());
            var return_value  = "";

            if (current_value == '-Sveta Rita') {
                return_value = '+Sveta Rita';
            }else{
                return_value = '-Sveta Rita';
            }

            return return_value;
        });
    });

    $("#a2").on('click', function () {
        $("#filip").toggle(200);
        $(this).text(function () {
            return $.trim($(this).text()) == '-Sveti Filip' ? '+Sveti Filip' : '-Sveti Filip';
        });
    });
});

FIDDLE

此外,ID不应只包含一个数字!