javascript - 在按钮 jquery 中更改和改回文本

标签 javascript jquery

我想要一个 jquery 按钮事件,第一次单击按钮时会出现一个 div(类 .explanation)并且文本发生变化,第二次单击时 div 是隐藏,文本变回原始文本。我可以做第一部分,但第二部分不起作用。在下面的更改中 - (toggleClass("hidden") - 到 - .fadeOut... - 也不起作用所以我认为我有问题 ifelse。提前致谢

$("button:nth-of-type(1)").click(function() {
  if (this.text = "Read Explanation") {
    $(".explanation").fadeIn("slow", function() {});
    $(this).text("Hide Explanation");
  } else {
    $(this).text("Read Explanation");
    $(".explanation").toggleClass("hidden");
  }
});

最佳答案

改变

if(this.text = "Read Explanation") {

if($(this).text() === "阅读说明") {

演示:

$("button:nth-of-type(1)").click(function() {
  if ($(this).text() === "Read Explanation") {
    //$(".explanation").fadeIn("slow", function() {});
    $(this).text("Hide Explanation");
  } else {
    $(this).text("Read Explanation");
  }

  $(".explanation").toggleClass("hidden");
});
.hidden {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<div><button>Read Explanation</button></div>
<div class="explanation hidden">explanation</div>

  1. $(this) 是带有 text() 属性的 jquery 对象,而 this 是纯 js 在这种情况下,没有 texttext() 属性的对象。

  2. = 是赋值运算符,而 === 是比较运算符

关于javascript - 在按钮 jquery 中更改和改回文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49706488/

相关文章:

javascript - 使用 ajax 附加 html 后,Jquery 方法不适用于按钮

javascript - 如果没有互联网连接,隐藏 iframe

javascript - 传递图标作为参数不起作用 - 谷歌地图

jquery - Seaside 定期更新 JQuery

jquery,显示在 p 中的悬停文本上

javascript - 如何在请求显示新行时隐藏一行?

javascript - 如何在分页事件中突出显示数据表中的单词

javascript - 使用 Paper.js 调整光栅背景图像的大小

javascript - Jquery 获取选择器

javascript - 如何让Jquery可排序插件使用表格中的多行进行拖动