javascript - 获取数值最大的输入元素的输入id
问题描述
我几乎没有带有类名的输入字段scores
,它们的 id 是随机的,并且可以肯定输入字段是动态的,但具有相同的类名。
<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">
我如何获得具有最高值的输入的 id(在本例中为 ae34bd)。
注意:我可能有多个“相同高分”的元素
我试过这个:
var max_=[];
$('.scores').each(function(){ max_.push( $(this).val() ); });
var max = Math.max.apply(Math, max_);
这样,只能获得最高值,但我需要知道具有最高值的元素的 id。
解决方案
我知道你已经得到了答案,但是我已经在 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">
推荐阅读
- angular - 通过 HTTP CRUD 工作流上的通用方法发送标头
- javascript - 发送 JSON 到不同的地址然后 res
- python-3.x - Web Scraping Linkedin 分页不适用于搜索
- svg - 外部 SVG 中的anime.js querySelectorAll() 会破坏属性“目标:”的 [NodeList]
- c++ - 如何在 C++ 中创建一个算法来查找不重复的集合的变体(即 n 个元素,选择 k)?
- tsql - 在 t/sql 中使用 group by 将多行合并为一个
- python - Python - 按时间间隔合并数据(R data.table 模仿?)
- javascript - Rails - 向上/向下按钮保存到数据库
- pandas - 熊猫结合了滚动和重采样
- pnpm - 自动更新 package-lock.json