题
我尝试使用此代码为链路上切换文本:
var showText="<span>Open</span> ↓";
var hideText="<span>Close</span> ↑";
$('h1').before('<a href="javascript:;" id="hc_toggle_close">' + showText + '</a>');
$('#hc_toggle_close').click(function () {
$('#hc_toggle_close:contains("Open")').html(hideText);
$('#hc_toggle_close:contains("Close")').html(showText);
});
但是,这是行不通的!除了一个平常如果...其他建筑。可能有人请点我什么是错在这里。谢谢!
解决方案
使用toggle
辅助函数:
var showText="<span>Open</span> ↓";
var hideText="<span>Close</span> ↑";
$('h1').before('<a href="javascript:;" id="hc_toggle_close">' + showText + '</a>');
$('#hc_toggle_close').toggle(
function () {
$('#hc_toggle_close').html(hideText);
},
function () {
$('#hc_toggle_close').html(showText);
}
);
从toggle
的文档:
如果点击了一个匹配元素, 第一个指定的功能被激发, 再次点击时,第二个是 被解雇。随后的每次点击继续 通过两个函数转动。
不隶属于 StackOverflow