如何使用 jQuery 在单击时更改链接文本?

小鸟

是我的代码笔,可以查看我的位置。我希望在 div 展开时将“阅读更多”更改为“阅读更少”,然后在关闭时返回“阅读更多”,等等。

我想也许要检查 .expand-btn 是否有类 .view 然后做一个条件来改变 innerHTML 但我没有太多运气,也许我只是做错了。

任何帮助,将不胜感激。

$(".expand-container").each(function() {
  var _this = $(this);
  _this.find("a").click(function() {
    _this.find(".expand-text").toggleClass('expand');
    _this.find(".expand-btn").toggleClass('view');
  });

  if (_this.find(".expand-btn").hasClass("view")) {

  }
});
.col {
  width: 20rem;
}

.expand {
  max-height: 900px !important;
}

.expand-container {
  position: relative;
  width: 100%;
  height: auto;
}

.expand-text {
  position: relative;
  height: auto;
  max-height: 45px;
  overflow: hidden;
  transition: ease-in-out 0.25s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col">
  <h2>title1</h2>
  <div class="expand-container">
    <p class="expand-text">
      Nulla quis lorem ut libero malesuada feugiat. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh. Sed porttitor lectus nibh. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet
      nisl tempus convallis quis ac lectus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Quisque velit nisi, pretium ut lacinia in, elementum id enim. Nulla quis lorem ut libero malesuada feugiat. Nulla porttitor accumsan tincidunt.
    </p>
    <a href="javascript:;" class="expand-btn">Read more</a>
  </div>
</div>

Carsten Løvbo 安徒生

你可以这样做:

_this.find(".expand-btn").text((_this.find(".expand-btn").text() == "Read more" ? "Read less":"Read more"))

为了更好地理解上面的代码,你可以阅读下面的例子。

if(_this.find(".expand-btn").text() == "Read more") {
   _this.find(".expand-btn").text("Read less")
} else {
   _this.find(".expand-btn").text("Read more")
}

演示

$(".expand-container a").click(function() {
  var _this = $(this);
  _this.prev(".expand-text").toggleClass('expand');
  _this.text((_this.text() == "Read more" ? "Read less" : "Read more")).toggleClass('view');
  _this.next('img').attr("src", _this.next('img').attr("src") == 'https://cdns.iconmonstr.com/wp-content/assets/preview/2018/240/iconmonstr-arrow-up-thin.png' ? "https://cdns.iconmonstr.com/wp-content/assets/preview/2018/240/iconmonstr-arrow-down-thin.png" : "https://cdns.iconmonstr.com/wp-content/assets/preview/2018/240/iconmonstr-arrow-up-thin.png")
});
.col {
  width: 20rem;
}

.expand {
  max-height: 900px !important;
}

.expand-container {
  position: relative;
  width: 100%;
  height: auto;
}

.expand-text {
  position: relative;
  height: auto;
  max-height: 45px;
  overflow: hidden;
  transition: ease-in-out 0.25s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col">
  <h2>title1</h2>
  <div class="expand-container">
    <p class="expand-text">
      Nulla quis lorem ut libero malesuada feugiat. Vivamus suscipit tortor eget felis porttitor volutpat. Sed porttitor lectus nibh. Sed porttitor lectus nibh. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet
      nisl tempus convallis quis ac lectus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Quisque velit nisi, pretium ut lacinia in, elementum id enim. Nulla quis lorem ut libero malesuada feugiat. Nulla porttitor accumsan tincidunt.
    </p>
    <a href="javascript:;" class="expand-btn">Read more</a><img src="https://cdns.iconmonstr.com/wp-content/assets/preview/2018/240/iconmonstr-arrow-down-thin.png" style="height:10px;width:10px;" />
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用jQuery单击链接时更改链接背景颜色

如何使用jquery更改单击时输入按钮的文本?

使用jquery单击按钮时如何更改文本颜色?

如何使用jquery在单击时更改锚标记的文本?

如何使用jquery在单击时更改表格行的文本

如何在单击相应超链接时隐藏/显示qstn的答案,以及如何使用jQuery动态更改此超链接的文本?

如何在jquery中单击时更改文本和矩形?

使用jQuery单击时更改td元素的文本

单击时使用jQuery更改P标签文本

jQuery:单击时更改链接文本和图标

使用jQuery单击每个选项卡时如何更改链接URL

当我使用JQuery单击链接时如何更改视频src

如何获得使用jQuery附加的单击时超链接的ID

如何在jQuery中单击每个链接时更改活动类?

在鼠标悬停时将 div 更改为 href 链接并使用 jQuery 单击

使用jQuery单击后更改按钮的文本

如何正确使用jquery nth-child更改链接的文本

如何在单击按钮时更改div的文本内容?香草JS / jQuery

单击时 Jquery 更改/设置链接参数

jQuery:当单击任意位置时如何单击链接?

使用 jQuery 更改链接颜色(活动时)

jQuery在单击评论时更改文本

jQuery文本区域调整大小无法与单选按钮单击时的jQuery div内容更改结合使用

使用jQuery单击链接

使用jQuery单击链接更改Woocommerce产品数量

单击链接时如何更改跨度颜色

单击时如何在jquery中访问超链接属性

在单击每个链接时显示轮播-使用Jquery和OwlCarousel

使用jQuery单击更改多个元素上的文本