如果超过 20 个,则删除旧的 div | jQuery
我的 jQuery 脚本需要一些帮助。 我有一个每 10 秒刷新一次的页面,并且会附加来自 feed 的新 div。
我的脚本对 div 进行计数,并在超过 20 个 div 时删除最后一个 div。如果 feed 一次仅附加 1 个 div,则此方法效果很好。但 feed 也可以同时附加多个 div。发生这种情况时,计数可能会超过 20 个 div 的最大值。问题是我的脚本只删除 1 个 div,而不是所有超过 20 个的 div。
这是我的代码:
var $auto_refresh = setInterval(function () {
var $articleCount = $('div').length;
if ($articleCount > 20) {
$('div:last-child').remove();
}
$autoUpdate();
}, 10000); // refresh every 10000 milliseconds for new items
我需要删除所有多余的 div,以便始终有 20 个 div。我希望有人能帮助我解决这个问题。
I need some help with my jQuery script.
I have a page that refreshes every 10 seconds and new divs from a feed are getting appended at.
My script counts the divs and removes the last div when there are more than 20 divs. This works fine if the feed just appends 1 div at a time. But the feed can also append multiply divs at the same time. When this happens the count can exceed the max of 20 divs. The problem with this is that my script just deletes 1 div and not all the divs that exceed the 20 count.
This is my code:
var $auto_refresh = setInterval(function () {
var $articleCount = $('div').length;
if ($articleCount > 20) {
$('div:last-child').remove();
}
$autoUpdate();
}, 10000); // refresh every 10000 milliseconds for new items
I need to remove all extra divs so there are always 20 divs. I hope someone can help me out with this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
使用 jQuery.slice 获取超过 20 的所有内容,并将它们装箱 - 非常简单:)
http://api.jquery.com/slice/
Use jQuery.slice to get everything past number 20, and bin them - dead easy :)
http://api.jquery.com/slice/
请注意
if
更改为while
。这会不断删除最后一个,直到有 20 个。Notice the change of
if
towhile
. This keeps deleting the last one until there are 20.您可以使用
.slice(x)
删除索引 < 中的所有元素code>x 以及:http://jsfiddle.net/PLKAm/。如果有
<= 20
项,则.slice(20)
返回一个空集,因此该代码自动为空操作。You could use
.slice(x)
to remove all elements from indexx
and on: http://jsfiddle.net/PLKAm/.If there are
<= 20
items then.slice(20)
returns an empty set, so the code is a no-op automatically.使用 大于 选择器:
Using the greater than selector:
您可以使用
:gt()
选择器一次性查找元素。You could use the
:gt()
selector to find the elements in one fell swoop.为简单起见编辑:
Edited for simplicity: