【问题标题】:Toggle .html text on click with jQuery使用 jQuery 在单击时切换 .html 文本
【发布时间】:2013-01-15 11:10:48
【问题描述】:

我正在尝试在我的网站上构建一个collase expand 功能。

我有以下切换隐藏的 div 仅我试图将“展开”文本更改为折叠,然后如果再次单击,折叠 > 展开。

任何人都可以看到我做错了什么吗?

$('.coverage .expand').click(function(){
    $(this).parent().parent().find('.subitems').toggle('slow', function() {
        var togtit = $(this).parent().find('.expand');
        if((togtit).is('Expand')){
            togtit.html('Collapse')
        } else {
            togtit.html('Expand')
            }
    });
});

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    问题是您以错误的方式使用.is() 方法。您可以尝试以下方法:

    $(this).parent().find(".expand").html(function(i, html) {
        return html === "Expand" ? "Collapse" : "Expand";
    });
    

    【讨论】:

      【解决方案2】:
      if(togtit.html() == 'Expand'){
           togtit.html('Collapse')
      } else {
           togtit.html('Expand')
      }
      

      上面应该可以工作。

      根据选择器、元素检查当前匹配的元素集, 或 jQuery 对象,如果这些元素中至少有一个则返回 true 匹配给定的参数。

      jQuery.is 应该用于检查元素是否匹配选择器。它不会测试元素的内部内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-30
        • 2011-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多