试图随机选择div,但它有时会回显空div?

时间:2015-10-22 22:11:23

标签: 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>';
		}
?>

1 个答案:

答案 0 :(得分:0)

不需要任何奇怪的sort函数来从jQuery集合中获取随机元素。这是使用eq进行此操作的唯一方法。

&#13;
&#13;
var $widgets = $('.widget');
var length = $widgets.length;
var div = $widgets.eq(Math.floor(Math.random() * length));
div.show();
&#13;
.widget {
  display: none;
  }
&#13;
<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>
&#13;
&#13;
&#13;