javascript - 无法切换文本

标签 javascript jquery html

[Fiddle]

在示例中,我尝试通过匹配数据属性使每对按钮切换文本。我可以将文本从“添加”更改为“单击时删除”。但我无法在第二次单击时将其切换回“添加”。谁能告诉我出了什么问题?

HTML:

<div class="yellow"><button class="my_choice" data-term="A">Remove</button>
<button class="my_choice" data-term="A">Remove</button>
</div>
<div class="black">
<button class="my_choice" data-term="B">Add</button>

<button class="my_choice" data-term="B">Add</button>
</div>

jQuery:

$('.my_choice').click(function(){
      var dataterm = $(this).data('term'),
          my_choice = $('.my_choice[data-term='+dataterm+']')
      if (my_choice.text() == "Remove")
      {
          my_choice.text("Add")
      }
      else
      {
          my_choice.text("Remove")
      }

});

最佳答案

只需更改条件以引用单击的项目,而不是所有匹配的按钮

if (my_choice.text() == "Remove")

至:

if ($(this).text() == "Remove") 

FIDDLE

正如您所看到的,您正在尝试从多个按钮读取 text() ,这就是它不起作用的原因。您需要限制 text() 仅从一个按钮读取。

编辑:

更新了我的答案以引用 fiddle 。

关于javascript - 无法切换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23935807/

相关文章:

javascript - Typescript - 将所有源文件与 node_modules 中所需的外部模块捆绑在单个输出中

jquery - 如何使用 jquery mobile 在页面加载之前加载对话框或弹出窗口

javascript - 获取点击链接的 id 并将其传递给 JQuery

php - 如何隐藏 native php 中我网站上链接的其他网站的链接

javascript - 使用 jQuery 获取字符串的子字符串

html - 使用显示 :flex 时文本溢出不起作用

javascript - 如何在 D3 版本 4 中实现 2 x 轴

javascript - JsPlumb - 将自己的选择器功能添加到动态 anchor

javascript - 在 JSX 中传递变量

javascript - Canvas 中的图像 ID