使用带文本显示的Jquery切换文本
Toggle Text with Jquery with Text Displays
我正在使用Jquery来切换某些p标记的显示。单击"更多"时,将显示所有文本。我希望点击监听器在显示内容时说"少"。在这一点上,它总是说"更多"。我需要将切换开关上的"更多"更改为"更少"。我已经能够通过删除允许显示和隐藏文本的类来实现这一点,这违背了目的,因为这正是我关心的功能。
工作文本显示:
http://jsfiddle.net/5UgfH/
工作更多/更少切换:
http://jsfiddle.net/LKJ5N/
<p> Please Help </p>
提前谢谢。
只需注释掉h3
隐藏逻辑(来自您的第一把小提琴):
//$("#moretext").click(function () {
// $('h3', this).toggle();
//});
检查这是否有效:http://jsfiddle.net/5UgfH/1/
看看这个插件,它应该能做到。jQuery扩展器
您不需要使用两个元素,只需交换文本即可
你会这样做的:
$(document).ready(function () {
$(".showhidetext").hide();
var more = $('<h3 />', {id :'more',
text :'MORE',
on : {
click: function() {
$(".showhidetext").toggle();
$(this).text(function(_,txt) {
return txt == 'MORE'?'LESS':'MORE';
})
}
}
}
);
$('#moretext').append(more);
});
FIDDLE
请注意,ID是唯一的,并且在文档中只能有一次相同的ID,因此将#showhidetext
更改为类,而不是
试试这个:
$(document).ready(function () {
$("#showhidetext").toggle()
var more_texts = ['MORE','LESS'];
var text_flag = 0;
$("#moretext").click(function(){
$('#showhidetext').toggle();
$(this).text(more_texts[++text_flag%2]);
});
});
这样,您就不需要隐藏/显示触发文本.toggle()
的文本,只需根据需要设置样式#showhidetext
即可
JSFiddle演示
相关文章:
- 基于文本jquery php更改按钮
- 选择“p文本jquery”
- 附加 HTML 转义文本:jQuery
- 如何知道选中/突出显示的文本jquery的顺序出现
- Action.on('模糊')不't处理输入文本-jQuery 1.9+
- 在当前工具提示文本 JQuery 旁边追加或添加新文本
- 文本自动移动以适应动画相邻文本 (jquery):如何平滑
- 获取锚点的特定文本 - jQuery
- 从文本 jquery 中查找和挑选出模式
- 延迟后如何更改文本 - jQuery.
- 更改按钮文本 jQuery
- 使用 :包含 找到一个文本 jquery
- 获取引导程序单选按钮文本-jquery
- onchange函数转换为输入文本JQuery的数组
- 语法错误未终止字符串文本jquery
- 将输入占位符文本与span文本jquery交换
- 更改数值为文本- jQuery / NivoSlider
- 在文本区搜索指定的文本- jQuery/Javascript
- 一个字一个字地突出显示文本(jquery)(关闭)
- 无终止字符串文本jquery或更多