最大值+选择Div

时间:2012-12-31 20:58:44

标签: javascript jquery

我遇到以下JSFiddle的问题。

我基本上想要突出显示带有黄色边框的最高值的div。

但是,如果多个div具有相同的max值,则程序必须从具有最大值的所有div中随机选择div。

例如,应该随机选择带有20的三个div中的一个,它的边框颜色应该是黄色。

http://jsfiddle.net/DyGqm/5/

HTML

<div class="num">16</div>
<div class="num">20</div>
<div class="num">18</div>
<div class="num">20</div>
<div class="num">20</div>

CSS

.num {
    border: 2px solid green;
    width:120px;
    text-align: center;    
}​

JS

var max = -Infinity;

var maxEle = $(".num").each(function() {
    if (+this.value > max) max = +this.value;
}).filter(function() {
    return this.value == max;
});

if (maxEle.length > 1) maxEle = maxEle.eq(Math.floor(Math.random() * maxEle.length));

maxEle.css("border-color", "yellow");​

1 个答案:

答案 0 :(得分:5)

1)您尚未选择jQuery作为框架。它正在使用MooTools。

2)div没有.value。您可以使用.innerHTML

http://jsfiddle.net/DyGqm/8/

最终代码:

var max = -Infinity;

var maxEle = $(".num").each(function() {
    if (+this.innerHTML > max) max = +this.innerHTML;
}).filter(function() {
    return this.innerHTML == max;
});


if (maxEle.length > 1) maxEle = maxEle.eq(Math.floor(Math.random() * maxEle.length));

maxEle.css("border-color", "yellow");