2 回答
TA贡献1802条经验 获得超4个赞
据我所知,您已经得到了答案,但我已经在 JavaScript 中完成了此操作,并获取是否有多个字段具有相同的最高值。
let elements = document.getElementsByClassName('scores');
elements = [...elements];
console.log(...elements)
let max = Math.max.apply(Math, elements.map(e=>Number(e.value)))
console.log(max)
let allMaxIds = elements.filter(e=>{
return max === Number(e.value);
}).map(e=> {return {id:e.id,score:Number(e.value)}});
console.log(allMaxIds)
<input type="text" class="scores" id="1dhs3d" value="50">
<input type="text" class="scores" id="ae34bd" value="100">
<input type="text" class="scores" id="ae34bb" value="100">
<input type="text" class="scores" id="6ydbbd" value="15">
TA贡献1785条经验 获得超8个赞
这是一个使用 Array 对象排序的选项:
let scores = Array.from($(".scores"));
let sortedElements = scores.sort((a, b) => parseInt($(b).val()) - parseInt($(a).val()));
let $max = $(sortedElements[0]);
console.log("Element id with highest score: #" + $max.attr('id'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="scores" id="1dhs3d" value="50">
<input type="text" class="scores" id="ae34bd" value="100">
<input type="text" class="scores" id="6ydbbd" value="15">
<input type="text" class="scores" id="6ydb2d" value="15">
https://jsfiddle.net/zvkh12s6/
添加回答
举报