我的HTML是这样的:
<div>
<div class="action">Show details</div>
<div>Some hidden details</div>
</div>
我现在的JS是这样的:
$(".action").click(function(e) {
e.preventDefault();
$(this).next("div").slideToggle('slow');
});
如何在每个切换中将action
div的内容更改为“隐藏详细信息”/“显示详细信息”?
所以用户很清楚再次点击链接会关闭div。
答案 0 :(得分:3)
在你的div点击处理程序中:
var next = $(this).next('div');
$(this).html(next.is(':visible') ? 'Hide Details' : 'Show Details');
答案 1 :(得分:2)
$(".action").click(function(e) {
e.preventDefault();
var $container = $(this).next("div");
var title = $container.is(':visible') ? "Show details" : "Hide details" ;
$container.slideToggle('slow');
$(this).text(title);
});
答案 2 :(得分:1)
试试这个
$(".action").toggle(
function(e) {
e.preventDefault();
$(this).next("div").slideDown('slow');
$(this).html("Hide Details")},
function(e) {
e.preventDefault();
$(this).next("div").slideUp('slow');
$(this).html("Show Details")
});
答案 3 :(得分:1)
<div>
<div class="action">Show details</div>
<div class="toggleDiv">Some hidden details</div>
</div>
在Jquery中
$(".action").click(function () {
//e.preventDefault(); //what is it doing here
$(".toggleDiv").toggle("slow");
});
答案 4 :(得分:1)
这是另一种解决方案:
$(".action").click(function(e) {
e.preventDefault();
var nextDiv= $(this).next("div");
var title = nextDiv.is(':visible') ? "Hide" : "Show" ;
$(this).html(title);
$(nextDiv).slideToggle('slow');
});