使用jQuery单击锚后,更改锚的文本
Change text of anchor once it is clicked with jQuery
单击锚点时,我使用以下代码来显示/隐藏div。
$(document).ready(function(){
$(".slidingDiv").hide();
$(".show_hide").show();
$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
});
});
因此,当单击"show_hide"div时,将显示"slidingDiv"。但是,单击"show_hide"div后,我如何更改它的文本。例如,我希望"show_hide"读作"Toggle Open",一旦它被单击为"ToggleClose",我如何更改它?
谢谢!
使用text()
方法和回调为文本创建切换功能
$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
$(this).text(function(_, txt) {
return txt === 'Toggle Open' ? 'Toggle Close' : 'Toggle Open';
});
});
FIDDLE
要使用来自锚点的文本,您需要将其存储在data()
中,就像这个一样
$('.show_hide').each(function() {
$(this).data('default_text', $(this).text())
}).click(function(){
$(".slidingDiv").slideToggle();
var text = $(this).data('default_text');
$(this).text(function(_, txt) {
return txt === text ? 'Toggle Close' : text;
});
});
FIDDLE
您也可以使用数据属性在HTML中定义替代文本
<a href="#" class="show_hide" data-close="Search Close">Search</a>
并进行
$('.show_hide').each(function() {
$(this).data('default_text', $(this).text())
}).click(function(){
$(".slidingDiv").slideToggle();
var text = $(this).data('default_text');
$(this).text(function(_, txt) {
return txt === text ? $(this).data('close') : text;
});
});
FIDDLE
你可以这样做:
演示
JS:
$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
$(this).toggleClass('open');
});
HTML:
<a href="#" class="show_hide">
<span class="textopen">Toggle Open</span>
<span class="textclose">Toggle Close</span>
</a>
CSS:
.textclose {display: none;}
.show_hide.open .textopen {display: none;}
.show_hide.open .textclose {display: inline;}
例如,出于维护目的,我个人更喜欢将文本保存在html中,而不是JS中。您的javascript也保持简洁。
相关文章:
- 基于文本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或更多