我有这个slideToggle代码。当我点击显示"打开"的按钮时,它会将文本更改为"关闭"但问题是它和#34;关闭"即使你再次点击它,我想把文字改回"打开"当我点击"关闭"
这段代码完美无缺,但现在它无法正常工作。
<script>
$(document).ready(function () {
$("#open").click(function () {
$("#close").slideToggle("slow");
var t=$("#open").html()==="close"?"open:close";
$("#open").html(t);
reset ();
});
});
</script>
<div id="open" align="center"><p>open</p></div>
<div id="close"> <p>dddddddddddd</p></div>
<style type="text/css">
#open {
background:blue;
height:25px;
color:white;
}
#close {
background:green;
height:300px;
color:white;
display:none;
}
</style>
答案 0 :(得分:1)
尝试使用.text()而不是.html()
另一种更好的方法可能是在容器上切换类名,并将函数基于该函数而不是内部文本。
您更新的jquery点击处理程序将如下所示:
$('#toggler').click(function(){
$(this).next('.textBit').slideToggle().toggleClass('open');
if($(this).next('.open').length){
$(this).text('closed');
}
else{
$(this).text('open');
}
});
快速slideToggle demo,你可以自由编辑
答案 1 :(得分:1)
请改用:
$("#open").click(function(){
$("#close").slideToggle("slow");
$("#open").text($(this).text()=="open" ? "close" : "open");
});