我正在开设一个您可以暂时找到here的网站。您会注意到,如果您单击任何可扩展元素,它可以完美地工作,但是当按下“全部折叠”按钮时,保存upvote和downvote图像的div元素将从所有列表项中消失,我无法弄清楚我是什么我做错了(我是一个jQuery n00b!),js代码如下:
/* Full list expansion functionality */
$('#expandList')
.unbind('click')
.click( function() {
$('.collapsed').addClass('expanded');
$('.collapsed').children().show('medium');
})
/* Full list collapse functionality */
$('#collapseList')
.unbind('click')
.click( function() {
$('.collapsed').removeClass('expanded');
$('.collapsed').children().hide('medium');
})
答案 0 :(得分:3)
答案 1 :(得分:1)
$('.collapsed').children().hide('medium');
这行代码查找此元素中的所有子元素并隐藏它们,因此它包含div的
查看HTML
<ul id="expList">
<li class="collapsed expanded">
<div id="upvoted" style="display: inline-block;"><a href="#"><img src="img/votes/upvote.png" alt="upvote" width="14" height="14"></a></div>
<div id="downvoted" style="display: inline-block;"><a href="#"><img src="img/votes/downvote.png" alt="downvote" width="14" height="14"></a></div> | SNOW KAYAKING
//You want to hide only this
<ul style="display: block;">
</ul>
</li>
查看您的代码
/* Full list collapsion functionality */
$('#collapseList')
.unbind('click')
.click( function() {
$('.collapsed').removeClass('expanded');
$('.collapsed').children().hide('medium');
})
您可以更改代码以仅选择UL
元素并隐藏它:
$('.collapsed ul').hide('medium');
OR
$('.collapsed').children().not("#upvoted,#downvoted").hide('medium');