【问题标题】:Change anchor text and icon with jquery使用 jquery 更改锚文本和图标
【发布时间】:2013-02-17 22:47:38
【问题描述】:

我有一个隐藏或显示 div 的锚标记,但我无法更改它的文本和图标。

如何更改文本和图标标签,因为目前它会将图标标签解析为常规文本。

锚标记:

<a class="collapse-info btn"><i class="icon-arrow-up icon-white"></i> Hide Info</a>

我需要课程从“icon-arrow-up icon-white”变为“icon-arrow-down icon-white”,然后在切换期间返回。

Javascript (jquery)

$('.collapse-info').toggle(function() {
$('.server-info').slideUp();
$(this).text('Show Info');
}, function () {
$('.server-info').slideDown();
$(this).text('Hide Info');
});

正在尝试类似 $("#collapse-icon").toggleClass('icon-arrow-down');但这不起作用,因为锚文本在初始切换后被覆盖。

感谢您的帮助。

【问题讨论】:

    标签: javascript jquery twitter-bootstrap anchor toggleclass


    【解决方案1】:

    试试这个 - DEMO

    $('.collapse-info').toggle(function() {
        //$('.server-info').slideUp();
        $(this).find("i").removeClass("icon-arrow-up").addClass("icon-arrow-down");
        this.childNodes[1].nodeValue = "Show Info";
    }, function () {
        //$('.server-info').slideDown();
        $(this).find("i").removeClass("icon-arrow-down").addClass("icon-arrow-up");
        this.childNodes[1].nodeValue = "Hide Info";
    });
    

    【讨论】:

    • 谢谢,效果很好。不知道子节点,但很高兴知道!
    • 很抱歉让这个问题起死回生,但我似乎无法弄清楚我对代码所做的更改导致按钮在加载时消失。 jsfiddle.net/wdD7B我试图注释掉某些部分,但我无法确定原因。
    • 那是 jQuery 改变了 smth (没有时间去查看更新日志),但是如果你使用 1.8.3 而不是 1.9 它就可以工作 - jsfiddle.net/wdD7B/1
    【解决方案2】:

    首先,&lt;i&gt; 标签用于斜体文本而不是图标。
    现在回答您的问题,我假设您有某种背景图像分配给您想要更改的&lt;i&gt; 标签。
    为什么不将类分配给 &lt;a&gt; 标签本身,而不是 a 标签内的元素。 那么更改 a 标签的 html 不会给您带来问题。
    您的 js 将如下所示:

    $('.collapse-info').toggle(function() {
      $('.server-info').slideUp();
      $(this).text('Show Info');
      $(this).addClass('icon-arrow-down').removeClass('icon-arrow-up');
    }, function () {
      $('.server-info').slideDown();
      $(this).text('Hide Info');
      $(this).addClass('icon-arrow-up').removeClass('icon-arrow-down');
    });
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多