2

我在使用以下 JSFiddle 时遇到问题。

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

但是,如果多个 div 具有相同的值,即最大值,则程序必须从所有具有最大值的 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");​
4

1 回答 1

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");
于 2012-12-31T21:06:51.160 回答