根据单元格值从表中获取行列表

时间:2014-09-10 23:34:03

标签: jquery css html-table

如何从一个单元格为0.00的表中获取所有行的列表? jQuery代码,如果可能的话。

请不要循环的代码(没有each语句)。我试图避免循环。

<table id="products">
<tr><td>Name</td><td>Product</td><td>Price</td></tr>
<tr id="1"><td>gdfgdf</td><td>1</td><td aria-describedby="Price">0.00</td></tr>
<tr id="2"><td>gdf455g</td><td>2</td><td aria-describedby="Price">0.00</td></tr>
<tr id="3"><td>gdf43gdf</td><td>1</td><td aria-describedby="Price">6.50</td></tr>
<tr id="4"><td>gdf44g</td><td>2</td><td aria-describedby="Price">7.00</td></tr>
</table>

我需要抓住前两行(在这种情况下),因为价格为0.00。

3 个答案:

答案 0 :(得分:1)

版本与.each

    $('td').each(function() {
         if ($(this).text() == 0) {
            $(this).css("background", "yellow");
         }
    });

enter image description here

版本:包含(更新以突出显示前两行,而不仅仅是单元格)

var element = $('td:contains(0)');

for (i=0; i<element.length; i++)
{
if (element[i].innerHTML == 0)
$(element[i]).parent().css("background", "yellow");
}

enter image description here

答案 1 :(得分:1)

可以给你一个不明显使用像each之类的循环的方法,但它肯定会在后台使用循环,因为除了循环所有行以检查文本之外别无他法。

$('#products tr').filter(function(){
    return $(this).find('td:last').text() == '0.00';
}).doSomething();

DEMO

答案 2 :(得分:1)

好的,所以它是

$("#products td").filter(function () {
                        return $(this).text() == 0;
                   }).closest("tr").hide();

这将隐藏至少有一个单元格等于0的行。

干杯!