使用jQuery在单击时切换span文本
Toggle span text on click with jQuery
我正在尝试编写一个可重用的脚本,用于在单击时切换元素的文本。
我有它工作的点击,但我不能让它切换回来。我的if语句有什么问题吗?
<span class="js-textEdit" data-text="Show less">Show more</span>
$('.js-textEdit').click(function() {
var oldText = $(this).text();
var newText = $(this).attr('data-text');
if ($(this).text(oldText)) {
$(this).text(newText);
} else {
$(this).text(oldText);
}
});
这是一个JSFIddle
还有,是否有更干净的方法来重构它?我使用data属性来确定新文本,而不是使用id,并且必须为我想要使用它的每个元素编写单独的脚本。数据属性方法是一个好方法吗?
$('.js-textEdit').click(function () {
var oldText = $(this).text();
var newText = $(this).data('text');
$(this).text(newText).data('text',oldText);
});
jsFiddle示例(以及一个稍微更好的示例,以显示它如何在多个元素上工作)
您必须将数据集设置为旧文本。
$(this).attr('data-text',oldText);
JS小提琴
相关文章:
- 使用Clipboard.js复制span文本
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- 当DIV中的文本高亮显示时,如何获得DIV中Span的值?(Javascript)
- Javascript/jQuery:用HTML span标记替换单引号中的文本
- jQuery将文本从span标记复制到另一个span标记
- 当我想在span标记中呈现文本时,看到span标记
- 使用jquery过滤逗号分隔的span文本
- 如何将所有文本包装成唯一的span标记
- 如果span文本为't 0
- 如何将新输入的文本包装到下面已经存在的span标记中
- 单击时切换DIV和SPAN文本
- 将输入占位符文本与span文本jquery交换
- 使用bookmarklet javascript更改span文本的一部分
- Span文本隐藏的动画DIV尽管z索引
- Javascript:使用span文本作为引用,单击页面上的链接
- 围绕span文本换行元素
- 需要使用jquery.find()在对话框窗口中动态更改span文本的帮助
- 在 jquery span 文本中使用 HTML 字符名称
- 根据显示/隐藏span标记/Javascript组设置span文本
- 使用jQuery在单击时切换span文本