gpt4 book ai didi

javascript - 选择隐藏的元素并使用 jQuery 操作它们

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:44 24 4
gpt4 key购买 nike

在一个带有“部分”类的 div 包装器中,我在页面上重复了数十个 HTML 元素,如下所示:

<div class="section">
<div class="article"></div>
<div class="article"></div>
<div class="article"></div>
</div>

并且每一个里面都包含着一定的信息。现在,我要做的是在页面加载后,只显示前 5 个,将其余部分隐藏在用 jQuery 插入的新 div 中,当单击这个新 div 时,它将显示接下来的五个,然后是下一个再次点击五个,依此类推直到结束。这个想法是这个新的 div 将作为一个按钮,它总是位于页面的末尾,并将响应我刚才提到的这些命令。到目前为止,我已经记下了:

$('.section').each(function () {
var $this = $(this),
$allArticles = $this.find('.article');

if ($allArticles.length > 5) {
$('<div/>').addClass('hidden-articles').appendTo(this).append($allArticles.slice(5));
$('.hidden-articles .article').hide();
}
});

这会隐藏除前五个以外的所有内容。但是现在对于剩下的过程,我无法让它工作。我似乎无法正确选择那些带有“文章”类的隐藏 div 并操纵它们按照我上面描述的方式运行。如果对 jQuery 有更多经验的人可以指导我正确的方向并提供一个片段,我将不胜感激。非常感谢!

最佳答案

您可以使用 :hidden 和 :lt 选择器来获得您正在寻找的功能..

$('.section').each(function() {
var $this = $(this),
$allArticles = $this.find('.article');

if ($allArticles.length > 5) {
$('<div/>').addClass('hidden-articles')
.appendTo(this).append($allArticles.slice(5));
$this.find('.hidden-articles .article').hide();

}
});

$('#show').on('click',function() {
var $hidden = $('.hidden-articles .article:hidden:lt(5)');
$hidden.show();
});​

更新

// If one one element to search 
var elem = '.section' ;
hideArticles(elem);

// If Multiple Elements on the page...
$('.section').each(function() {
hideArticles(this);
});

$('#show').on('click', function() {
var $hidden = $('.hidden-articles .article:hidden:lt(5)');
$hidden.show();
});

function hideArticles(elem) {
var $this = $(elem),
$allArticles = $this.find('.article');

if ($allArticles.length > 5) {
$('<div/>').addClass('hidden-articles')
.appendTo(this).append($allArticles.slice(5));
$this.find('.hidden-articles .article').hide();
}
}​

Check Fiddle

关于javascript - 选择隐藏的元素并使用 jQuery 操作它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com