javascript - 使用jquery突出显示具有最小值的html列

标签 javascript jquery html css

我试图突出显示具有最低值的列(或只是标题)。 下面的代码我可以找到最低值,但我不知道如何找到并突出显示最低值的列。

$(function(){
	var values = $('.total').map(function() {
		return parseInt( $(this).html().replace("$ ","") );
	}).get();

	var minimum = Math.min.apply( null, values );
	
	alert(minimum);
})
.better-price{
    background-color: #ff7f50;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
    <thead>
        <tr>
            <th style="width: 100px;">Product</th>
            <th style="width: 100px;">Quantity</th>
            <th style="width: 100px;" id="company_1">Company 1</th>
            <th style="width: 100px;" id="company_2">Company 2</th>
	        <th style="width: 100px;" id="company_3">Company 3</th>
        </tr>
    </thead>
    <tbody>
		<tr>
			<td>Product 1</td>
			<td>5 m</td>
			<td>$ 10.00</td>
			<td>$ 50.00</td>
			<td>$ 50.00</td>
		</tr>
		<tr>
			<td>Product 2</td>
			<td>5 m</td>
			<td>$ 20.00</td>
			<td>$ 40.00</td>
			<td>$ 40.00</td>
		</tr>
		<tr>
			<td>Product 3</td>
			<td>50 m2</td>
			<td>$ 30.00</td>
			<td>$ 30.00</td>
			<td>$ 30.00</td>
		</tr>
		<tr>
			<td>Product 4</td>
			<td>2 Un</td>
			<td>$ 40.00</td>
			<td>$ 20.00</td>
			<td>$ 20.00</td>
		</tr>
		<tr>
			<td>Product 5</td>
			<td>1 Un</td>
			<td>$ 50.00</td>
			<td>$ 10.00</td>
			<td>$ 20.00</td>
		</tr>
        <tr>
            <td colspan="2"><label>Total</label></td>
			<td><label>$ 150.00</label></td>
			<td><label>$ 150.00</label></td>
			<td><label>$ 150.00</label></td>
        </tr>
        <tr>
            <td colspan="2"><label>Shipping amount</label></td>
			<td><label>$ 100.00</label></td>
			<td><label>$ 99.00</label></td>
			<td><label>$ 99.00</label></td>
        </tr>
        <tr>
            <td colspan="2"><label>Total + shipping</label></td>
			<td class="total">$ 250.00</td>
			<td class="total">$ 249.00</td>
			<td class="total">$ 259.00</td>
        </tr>
		<tr>
			<td colspan="2"><label>Valid until</label></td>
			<td><label>2015/01/01</label></td>
			<td><label>2015/01/01</label></td>
			<td><label>2015/01/01</label></td>
		</tr>
        <tr>
            <td colspan="2"></td>
			<td>
				<button>Select</button>
			</td>
			<td>
				<button>Select</button>
			</td>
			<td>
				<button>Select</button>
			</td>
        </tr>
    </tbody>
</table>

有什么想法可以突出显示列或标题吗?

最佳答案

您可以循环遍历每个总计,然后将该类添加到最小值

$(function(){
    var values = $('.total').map(function() {
        return parseInt( $(this).html().replace("$ ","") );
    }).get();

    var minimum = Math.min.apply( null, values );

    $('.total').each(function(){
        if(parseInt( $(this).html().replace("$ ","")) == minimum){ 
            $(this).addClass('better-price');
        }
    });
})

关于javascript - 使用jquery突出显示具有最小值的html列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32261722/

相关文章:

javascript - 如何在函数定义中使用没有 "this"的 bind() 方法?

javascript - CSS 选择器和边框问题

javascript - 如何在casperjs代码中设置代理

javascript - 一页上有两个滑动 slider

javascript - jQuery 类验证有效!但返回 "property ' 长度' of null“错误?

html - WCAG 合规性 - 角色为 ="button"且无内容的元素

html - 如何将段落文本与中间的图像对齐

javascript - 将 else 语句添加到 Javascript 字典键值对?

jquery - 事件点击谷歌地图V3上的矩形

html - <p> 悬停时显示在 img 上