我在div中有两个div,我想一次只显示一个
<div class="songContent">
<div id="song1"> song 1 </div>
<div id="song2"> song 2</div>
</div>
我使用此函数从另一个元素触发事件:(将字符串作为参数传递给函数,例如:songId = song1)
function showSong(songId){
$('.songContent div').hide();
var sel = '#'+songId;
$(sel).show()
$( sel +' div').show()
alert(sel); //debugging
}
任何帮助将不胜感激, 谢谢,
答案 0 :(得分:7)
这样的东西?
function showSong(songId){
$('#'+songId).show().siblings().hide();
}
答案 1 :(得分:2)
如果您在开始时一次只显示一个,则只需使用切换。
$('#show').click(function(){
$('div[id^=song]','#songContent').toggle();
});
答案 2 :(得分:1)
function showSong(songId){
$('.songContent div').hide();
$('div[id=' + songId + ']').show();
}
答案 3 :(得分:1)
如果您构建的选择器字符串看起来像#song1 div
,则找不到您的song1
div。您需要div#song1
。
示例:
function showSong(songId){
$('.songContent div').hide();
var sel = '#'+songId;
$( 'div' + sel).show()
}
但是by-id选择器本身(sel
)应该作为选择器使用。