特定の数のdivを表示/非表示にする際に問題があります。私はすべてを印刷する動的divを作成しましたが、5番目のdivの後には何も隠しません。次に、 "Load More"ボタンをクリックすると、すべてが表示され、 "Show Less"が表示されます。最初の5つのdivのみが表示されます。私はこれを試みたが、うまくいかなかった。そして、それが生産されたDOMは、あなたのセレクタは期待していたものではありませんでした - 。ここにあなたのオリジナルフィドルがためのループでコンマの代わりにセミコロンを使用していた最初のスクリプトが失敗していたので、jsfiddle.特定の数のdivを表示/非表示にするにはどうすればよいですか?
var vidThumbnail = "";
for(i = 0, i < 25, i++)
{
vidThumbnail = '<div class="video-thumbnail">child ' + i + '</div>';
// if the child elements reaches 5 thumbnails, hide the rest
if($('.section.thumbnail .thumb > .video-thumbnail:gt(5)'))
{
$('.section.thumbnail .thumb').append(vidThumbnail).hide();
}
else
{
$('.section.thumbnail .thumb').append(vidThumbnail).slice(0,5);
}
}
$('#loadMore').click(function() // show them all
{
$('.section.thumbnail .thumb').show();
});
$('#showLess').click(function() // hide all up to the first 5 thumbnails
{
$('.section.thumbnail .thumb > .video-thumbnail').slice(0,5);
});
<section class="section thumbnail">
<h1>Thumbnail Divs</h1>
<div class="thumb"></div>
<div id="loadMore">Load More</div>
<div id="showLess">Show Less</div>
</section>