我有4个隐藏的div与同一个类.info,我希望当我点击.show-info链接时,只会出现感兴趣的div而不是所有的.info div。
这里是代码:
<a href="" class="show-info">Show info</a>
<div id="info">
Info will be here...
<a href="">close</a>
</div>
...
<a href="" class="show-info">Show info</a>
<div id="info">
Info will be here...
<a href="">close</a>
</div>
...
<a href="" class="show-info">Show info</a>
<div id="info">
Info will be here...
<a href="">close</a>
</div>
...
<a href="" class="show-info">Show info</a>
<div id="info">
Info will be here...
<a href="">close</a>
</div>
答案 0 :(得分:3)
尝试,
$('a.show-info').click(function(e){
e.preventDefault();
$(this).next('div.info').toggle();
});
但请注意,我已将info
视为class
,因为我们无法重复ID。
完整代码,
$('a.show-info').one('click', func);
function func(e) {
e.preventDefault();
$(this).next('div.info').show();
}
$('div.info a:contains(close)').click(function (e) {
e.preventDefault();
$(this).parent().hide()
.prev().one('click', func);
});
答案 1 :(得分:1)
首先,您必须在div之后结束锚标记,然后使用此代码..
$('a.show-info').click(function(e){
$(this).next('#info').show();
});
答案 2 :(得分:0)
$('.show-info').click(function(e){
e.preventDefault();
$(this).next('.info').show();
});
请注意,ID必须是唯一的,因此请尝试使用class而不是id
答案 3 :(得分:0)
ID 应为unique
。所以将html id =“info”更改为class="info"
$(".info").hide();
$('a.show-info').click(function(e){
e.preventDefault();
$(".info").hide();
$(this).next('div.info').show();
})
关闭
$('a:not(.show-info):contains(close)').click(function(e){
e.preventDefault();
$(".info").hide();
});