我有五个div与班级“奖”。 如何选择最小的奖品,并将其添加到“奖品盒”? 我在剧本方面不够强,所以我非常感谢你解决这个问题。
<div id="price-box">
</div>
<table id="table-prices">
<tr>
<td>Ткань</td>
<td>Цена (грн)</td>
</tr>
<tr>
<td>1</td>
<td class="prise">1496</td>
</tr>
<tr>
<td>2</td>
<td class="prise">4496</td>
</tr>
<tr>
<td>3</td>
<td class="prise">2496</td>
</tr>
<tr>
<td>4</td>
<td class="prise">5296</td>
</tr>
<tr>
<td>5</td>
<td class="prise">5696</td>
</tr>
</table>
答案 0 :(得分:3)
您可以使用 .map() 在td
元素中获取一系列文字,而不是使用 Math.max.apply 来获取最大值检索到的数组中的元素,然后将其设置为div的内容:
var priceArr = $('.prise').map(function() {
return $(this).text();
}).get();
var highestPrice = Math.max.apply(Math, priceArr);
$('#price-box').html(highestPrice);
<强> Fiddle Demo 强>
答案 1 :(得分:2)
这样的事情:
var array = [];
$('.prise').each(function(){array.push(+$(this).text());});
var minimum = Math.min.apply(null,array);
$('#price-box').text(minimum);
答案 2 :(得分:1)
您可以迭代价格,转换为数字并比较每个数字以找到最低价格,而不必像其他许多答案那样创建临时文本项目数组:
var smallestSoFar = Number.MAX_VALUE;
$("#table-prices .prise").each(function() {
smallestSoFar = Math.min(smallestSoFar, parseInt($(this).text(), 10));
});
$("#price-box").text(smallestSoFar);
答案 3 :(得分:0)
var smallest =0 ;
var prices = $('.prise').map(function(_, td) {
return $(td).text();
}).get();
for(var i = 0 ;i < prices.length; i+=1){
if (prices[i] < smallest){
smallest = prices[i] ;
}
}
$('#price-box').html(smallest);
但你必须调用这个脚本