使用 jquery 选择最多 5 li 项

发布于 2024-10-13 07:34:45 字数 1593 浏览 1 评论 0原文

我有一个

    ,里面有很多
  • 您可以在这里看到这个:

<ul>
                        <li><img src="content/img/logos/pon.jpg" alt="PON" width="111" height="63" /></li>
                        <li><img src="content/img/logos/spo.png" alt="SPO Utrecht" width="130" height="67" /></li>
                        <li><img src="content/img/logos/campus.jpg" alt="Onderwijs Campus" width="137" height="86" /></li>
                        <li><img src="content/img/logos/cpwb.png" alt="CPWB" width="112" height="99"/></li>
                        <li><img src="content/img/logos/expertis.jpg" alt="Expertis" width="120" height="56" /></li>
                        <li><img src="content/img/logos/inos.jpg" alt="Inos" width="211" height="67" /></li>
                        <li><img src="content/img/logos/OSG.jpg" alt="OSG" width="130" height="51" /></li>
                        <li><img src="content/img/logos/pio.png" alt="Pio" width="138" height="92" /></li>
                        <li><img src="content/img/logos/Signum.png" alt="Signum" width="181" height="68" /></li>
                        <li><img src="content/img/logos/vgs.png" alt="VGS" width="192" height="63" /></li>
                    </ul>

但没有我的问题。 li 项目有自己的 标签。但我想要让 jquery 显示 5 li 项目。我怎样才能用 javascript / jquery.他给我随机展示 5 个这样的项目?

谢谢

I have a <ul> with a lot of <li> You can see this here:

<ul>
                        <li><img src="content/img/logos/pon.jpg" alt="PON" width="111" height="63" /></li>
                        <li><img src="content/img/logos/spo.png" alt="SPO Utrecht" width="130" height="67" /></li>
                        <li><img src="content/img/logos/campus.jpg" alt="Onderwijs Campus" width="137" height="86" /></li>
                        <li><img src="content/img/logos/cpwb.png" alt="CPWB" width="112" height="99"/></li>
                        <li><img src="content/img/logos/expertis.jpg" alt="Expertis" width="120" height="56" /></li>
                        <li><img src="content/img/logos/inos.jpg" alt="Inos" width="211" height="67" /></li>
                        <li><img src="content/img/logos/OSG.jpg" alt="OSG" width="130" height="51" /></li>
                        <li><img src="content/img/logos/pio.png" alt="Pio" width="138" height="92" /></li>
                        <li><img src="content/img/logos/Signum.png" alt="Signum" width="181" height="68" /></li>
                        <li><img src="content/img/logos/vgs.png" alt="VGS" width="192" height="63" /></li>
                    </ul>

But no my question. The li items have his own <img> tag. But i want make, that jquery show me 5 li items. How can i make with javascript / jquery. That he show me random 5 of this li items?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

哆啦不做梦 2024-10-20 07:34:46
var li = $('ul li');
var len =li.length;

while($('ul li:visible').length > 5) {
    li.eq(parseInt(len * Math.random())).hide();
}

演示

var li = $('ul li');
var len =li.length;

while($('ul li:visible').length > 5) {
    li.eq(parseInt(len * Math.random())).hide();
}

demo

音栖息无 2024-10-20 07:34:45
randomElements = jQuery("li").get().sort(function(){ 
  return Math.round(Math.random())-0.5
}).slice(0,5)

位于 jQuery:选择随机元素


至于OP在评论中提出的问题:(

var $allLi = $('ul li'), // All
    showRandom = function() {
        $allLi.hide().sort(function() { // Hide all, then sort
            return Math.round(Math.random()) - 0.5;
        }).slice(0, 5).show(); // Show first five after randomizing
    };

showRandom(); // Do it now ...
setInterval(showRandom, 1500); // ... and every 1.5 sec

Demo)

randomElements = jQuery("li").get().sort(function(){ 
  return Math.round(Math.random())-0.5
}).slice(0,5)

Found in jQuery: select random elements.


As for the question posed by OP in the comments:

var $allLi = $('ul li'), // All
    showRandom = function() {
        $allLi.hide().sort(function() { // Hide all, then sort
            return Math.round(Math.random()) - 0.5;
        }).slice(0, 5).show(); // Show first five after randomizing
    };

showRandom(); // Do it now ...
setInterval(showRandom, 1500); // ... and every 1.5 sec

(Demo)

眼眸印温柔 2024-10-20 07:34:45

当您能够引用 li 时,您将能够迭代它的子项。哪些是李氏。
示例:

   $('li').each(function(index) {
    alert(index + ': ' + $(this).text());
  });

在上面的示例中,您可以使用 $(this) 引用 li。
你可以做的是将它们存储在一个数组中并随机获取 5 个。您可以使用 Math.random 方法来完成此操作。之后重建 ul li 列表或使用 jQuery 删除不需要的项目。

When you are able to reference the li's, you'll be able to iterate it's children. Which are the li's.
Example:

   $('li').each(function(index) {
    alert(index + ': ' + $(this).text());
  });

In the example above, you can reference to the li's with $(this).
What you could do is store them in an array and fetch 5 randomly. You could do this using the Math.random method. Either rebuild the ul li list afterwards or remove the unwanted items with jQuery.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文