如何使用jQuery提取textarea内自定义HTML中的最大数值
解决代码
$(document).ready(function() { const $peaks = $("<div/>").html($('.textarea').val()).find("Peak"); // 初始化最大值为负无穷,兼容所有可能的正数取值 let maxval = -Infinity; // 遍历所有Peak节点做数值比较 $peaks.each(function() { // 去除百分号后转为浮点数再比较 const currentVal = parseFloat($(this).text().replace('%', '')); if (currentVal > maxval) { maxval = currentVal; } }); // 格式化输出保留一位小数,符合49.0的预期格式 alert(maxval.toFixed(1)); });
实现逻辑说明
- 原有代码仅提取了第一个Peak节点的文本,未遍历所有节点做数值比对,无法得到最大值
- 提取节点文本后需要先移除
%符号,再转换为浮点数才能做正确的数值比较,避免字符串排序逻辑导致的比对错误 - 最终使用
toFixed(1)格式化输出,保证结果始终保留一位小数,匹配预期输出格式
内容的提问来源于stack exchange,提问作者Rahul Dev
相关产品推荐
相关产品推荐

