如何点击时切换说少信息?我尝试在css中使用:: after提示但是无法使其正常工作。我还希望为“少量信息”设置风格。在css。也许我应该把它叫做上课?
<div class="toggle">More Information</div>
$(document).ready(function(){
$(".content").hide();
$(".toggle").on("click", function(e){
$(this).next('.content').slideToggle(200);
});
});
答案 0 :(得分:4)
使用.text()
替换div
内的文字。
试试这个:
$(document).ready(function(){
$(".content").hide();
$(".toggle").on("click", function(){
$(this).next('.content').slideToggle(200);
$(this).text($(this).text() == 'More Information' ? 'Less Information' : 'More Information');
});
});
<强> JSFiddle Demo 强>
<强>更新强>
您还可以使用:visible
检查内容是否可见并相应地更改文字。
$(document).ready(function () {
$(".content").hide();
$(".toggle").on("click", function () {
var txt = $(".content").is(':visible') ? 'More Information' : 'Less Information';
$(".toggle").text(txt);
$(this).next('.content').slideToggle(200);
});
});
<强> JSFiddle Demo 强>
答案 1 :(得分:1)
可以这样做:演示 http://jsfiddle.net/f1dmhf0d/
.prev
- http://api.jquery.com/prev/ 明细安全地假设您的内容高于&#34;更多信息&#34;你可以遍历dom并使用:visible
标志aa =使用.text
来改变文字
希望休息符合你的需要。 :)
<强>码强>
$(document).ready(function () {
$(".content").hide();
$(".toggle").on("click", function (e) {
var $this = $(this).prev('.content');
var $text = $(this);
$this.slideToggle('slow', function () {
if ($(this).is(':visible')) {
$text.text('less info');
} else {
$text.text('more info');
}
});
});
});