javascript - 尝试随机选择 div,但有时会回显空 div?

标签 javascript php jquery

我正在尝试随机选择 div 。我的代码中唯一的问题是它有时会随机选择一个空 div。我不明白为什么它有时会回显一个空的 div。我已经使用 chrome 检查元素来检查,没有空的 div。我在 foreach 循环上做错了什么。

var divs = $(".widget").get().sort(function(){ 
            return Math.round(Math.random())-0.5; //so we get the right +/- combo
           }).slice(0,1);
$(divs).show();
.widget{
display:none;
 }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<?php


foreach ($widgets as $widget){
			echo'<div class="widget" >';
			echo $content; 
			echo'</div>';
		}
?>

最佳答案

不需要任何奇怪的 sort 函数来从 jQuery 集合中获取随机元素。这是使用 eq 实现此目的的一种方法。

var $widgets = $('.widget');
var length = $widgets.length;
var div = $widgets.eq(Math.floor(Math.random() * length));
div.show();
.widget {
  display: none;
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="widget">1</div>
<div class="widget">2</div>
<div class="widget">3</div>
<div class="widget">4</div>
<div class="widget">5</div>
<div class="widget">6</div>
<div class="widget">7</div>

关于javascript - 尝试随机选择 div,但有时会回显空 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33291654/

相关文章:

javascript - 禁用 JavaScript 时的 Css 回退

javascript - AngularJS - ngOptions 条件

javascript - 这里为什么需要分号?

php - 使用 PHP 生成的 UUID 更新表列中的每条记录

javascript - 如何使用 Fabricjs 自由绘制椭圆?

javascript - html5 的 onclick 替代方案

PHP 和 python 节俭

javascript - jquery中如何使用map函数?

jquery - 使用 jquery 访问 colorbox Iframe 内容

php - Yii2:动态表单小部件 wbraganca 不是