我有一系列带有链接和隐藏div的div。单击链接时,我需要显示父级中的隐藏div。例如:
<div class="track" id="track1">
<a href="#" class="notes-link">Song Notes</a>
<div class="song-notes"></div> <!-- HIDDEN DIV TO BE SHOWN WHEN LINK CLICKED -->
</div>
<div class="track" id="track2">
<a href="#" class="notes-link">Song Notes</a>
<div class="song-notes"></div> <!-- HIDDEN DIV TO BE SHOWN WHEN LINK CLICKED -->
</div>
到目前为止,我尝试的选项打开了所有.song-notes div,但是我想指定它只是包含应该打开的链接的父div的子div。
答案 0 :(得分:3)
我喜欢在这里使用.toggle()
。
$('a.notes-link').click(function (){
$(this).next('.song-notes').toggle();
});
<强> jsFiddle example 强>
答案 1 :(得分:2)
试试这个
$(document).ready(function(){
$('.notes-link').click(function(ev){
ev.preventDefault();
$(this).closest('.track').find('.song-notes').show();
});
});
答案 2 :(得分:1)
你可以这样做:
$(function () {
$('.notes-link').click(function (e) {
e.preventDefault();
$(this).next().show();
});
});
答案 3 :(得分:1)
$(function () {
$('div.track a.notes-link').click(function (e) {
e.preventDefault();
$(this).next().show(); //$(this).next().toggle();--> to show hide
});
});
答案 4 :(得分:1)
将ID添加到隐藏的div
<div class="track" id="track1">
<a href="javascript:showNotes(1);" class="notes-link">Song Notes</a>
<div class="song-notes" style="display:none" id="song1">1</div> <!-- HIDDEN DIV TO BE SHOWN WHEN LINK CLICKED -->
</div>
<div class="track" id="track2">
<a href="javascript:showNotes(2);" class="notes-link">Song Notes</a>
<div class="song-notes" style="display:none" id="song2">2</div> <!-- HIDDEN DIV TO BE SHOWN WHEN LINK CLICKED -->
</div>
Javascript代码:
function showNotes(id){
$('#song'+id).toggle();
}