单击时链接文本更改。查看更多,查看更少的jquery - Bootstrap手风琴

时间:2014-01-16 10:56:58

标签: javascript jquery html css twitter-bootstrap

所以我用bootstrap手风琴来隐藏/取消隐藏信息。

我需要将措辞从“看到更多”改为“少见”。

我已经在bootply

中看到了这一点

正如您将看到的,我面临的问题是,首次点击时,它会从“查看更多”移动到“查看更多”,然后再次点击它会按照我的意愿开始工作。

我知道为什么会发生但却无法弄清楚我如何删除一个href文本并立即显示隐藏的信息。

$(document).ready(function () {
    $("#morebtn").click(function () {
        $(this).html($(this).html() == "See more" ? "See less" : "See more");
    });
});

4 个答案:

答案 0 :(得分:3)

这是因为您的HTML第一次实际上是<strong>See more</strong>而不是“看得更多” 将其更改为$(this).text() == "See more",它可以正常运行:) 然后,您可以只向元素添加一个类以使其变为粗体。否则,您每次都需要使用<strong>标记重新包装

答案 1 :(得分:1)

试试这个:

$(this).html($(this).text() == "See more" ? "See less" : "See more");

或者如果#morebtn是<a> tag,请执行以下操作:

$(this).text(function(index,text){
   return text ? "See less" : "See more"
});

答案 2 :(得分:1)

删除查看更多文字周围的标签并通过css应用该样式,它将起作用。

答案 3 :(得分:1)

试试这个

 $(this).html(($(this).html() == "See more" )? "See less" : "See more");

测试为我工作

确保将id赋予支持html()属性

的dom元素

我试过

  <div id="morebtn"  style="background-color:red;width:64px;height:56px;"></div> 

如果ID被赋予按钮,则使用

    $(this).attr('value',($(this).attr('value') == "See more" )? "See less" : "See more");