我遇到以下JSFiddle的问题。
我基本上想要突出显示带有黄色边框的最高值的div。
但是,如果多个div具有相同的max值,则程序必须从具有最大值的所有div中随机选择div。
例如,应该随机选择带有20的三个div中的一个,它的边框颜色应该是黄色。
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");
答案 0 :(得分:5)
1)您尚未选择jQuery作为框架。它正在使用MooTools。
2)div
没有.value
。您可以使用.innerHTML
。
最终代码:
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");