【问题标题】:Changing span text to hide/show on jQuery toggle()更改跨度文本以在 jQuery toggle() 上隐藏/显示
【发布时间】:2014-05-28 03:49:02
【问题描述】:

strong text我正在尝试通过单击 Span 元素来隐藏/显示 div。我正在尝试更改跨度内的文本以在隐藏(显示元素时)和显示(隐藏元素时)之间切换。我相信我有一个良好的开端,但我现在坚持让 jQuery 脚本工作。任何帮助将不胜感激。

这是我的jsFiddlehttp://jsfiddle.net/3AnPX/

HTML

<span class="help_target">Open</span>
<div class="help_content">Content 1</div>

<span class="help_target">Open</span>
<div class="help_content">Content 2</div>

<span class="help_target">Open</span>
<div class="help_content">Content 3</div>

<span class="help_target">Open</span>
<div class="help_content">Content 4</div>

jQuery

$(".help_content").hide();

$(".help_target").click(function () {
    $(this).next('.help_content').toggle();
    $(this).toggle(function () {
        $(this).text('Open');
    }, function() {
        $(this).text('Close');
    });
});

更新:

试图在我的实际网站上实现这一点,但它不起作用:http://jsfiddle.net/PzkxA/

【问题讨论】:

    标签: javascript jquery html toggle


    【解决方案1】:

    您可以检查切换元素的可见性以更改文本:

    if(!$(this).next('.help_content').is(":visible") )
        $(this).text('Open');
    else
        $(this).text('Close');
    

    更新:

     $("span.hideshow").click(function () {
      $(this).closest('.profilestats-courseblock').find('.profilestats-course-badges').toggle();
      $(this).text($(this).text() == 'Close' ? 'Open' : 'Close');
     });
    

    Working Demo

    【讨论】:

    • 当我在我的网站上实际实现它时,它无法正常工作。在这里查看:jsfiddle.net/PzkxA
    • 它们同时切换。我怀疑这是我的浏览器:我在 Mac 上使用 Firefox。
    【解决方案2】:

    有点晚了,但这里有另一种方式:) demo http://jsfiddle.net/q76dk/

    所以您可能只想更改文本,因为.help_contentspan 之外

    希望这符合您的需求。 :)

    代码

    $(".help_content").hide();
    $(".help_target").click(function () {
        $(this).next('.help_content').toggle();
    
        $(this).text($(this).text() == 'Close' ? 'Open' : 'Close');
    
        });
    

    【讨论】:

    • 当我在我的网站上实际实现它时,它无法正常工作。在这里查看:jsfiddle.net/PzkxA
    • @iammikerodriguez bro :) 给我工作演示 :)) 尝试在你的演示中点击这个 section-header 就像一个了不起的作品
    • 你的原始代码完美无缺,但是当我真正尝试在我的网站上实现逻辑时,它们并没有切换。现在,每当我单击一个时,两者都会同时切换。 jsfiddle.net/PzkxA
    • @iammikerodriguez saweet 得到了你,看到上面你有一个解决方案,如果你在 this 上下文中使用它,你必须使用全局级别 .profilestats-course-badges会好的`:)~
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多