2

次の JSFiddle に問題があります。

私は基本的に、最も高い値を持つ div を黄色の境界線で強調表示したいと考えています。

ただし、複数の div が最大値である同じ値を持つ場合、プログラムは最大値を持つすべての div からランダムに div を選択する必要があります。

たとえば、20 個の 3 つの div のうちの 1 つをランダムに選択し、境界線の色を黄色にする必要があります。

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 に答える