更改元素的HTML

时间:2012-07-21 07:32:32

标签: jquery toggle

你好朋友我被一个令人困惑的错误阻止了它似乎很简单但是我不能完成它我只想在点击ID时切换div并更改html() ID比如当前显示Hide当用户点击它然后显示'show'但在我的代码中它没有发生并且面板在切换效果下正常工作请检查DEMO。请帮我 提前谢谢....

1 个答案:

答案 0 :(得分:3)

你正在使这个问题变得更加困难。我就是这样做的:

$('#showhide').click(function(){
  var div = $(this);
  $('.camera_discription_cont_text_container').slideToggle('slow',function() {
      div.html($(this).is(":visible") ? "hide" : "show");
  });
})

但是要真正解释你的代码有什么问题,你想使用“else if”而不是第二个“if”语句,如下:

$('#showhide').click(function(){

    if($(this).html()=='hide') {
        $(this).removeClass('hide');
        $(this).addClass('show');
        $(this).html('show');
    }
    else if($(this).html()=='show') {   //note the "else if", not "if"
        $(this).removeClass('show');
        $(this).addClass('hide');
        $(this).html('hide');
    }

    $('.camera_discription_cont_text_container').slideToggle('slow', function() {
        // Animation complete.
    });

})

如果在您的第​​一个if语句中,您正在将html更改为“show”。然后声明结束,你说“如果html是'show',改为隐藏”。然后它变为隐藏。换句话说,它正在从隐藏变为隐藏。使用“else if”就是你想要的。