1

如何检查 a 的任何孩子是否<tr>包含 abackground:blue;然后做某事?

$('table tr').each(function(index,value){
    if (value.has('background:blue')){
        alert (index); //do something to this row
    }
});
<table>
    <tr>
        <td>dfgdfgdfgdf</td>
        <td><input style="background:blue; value="test" /></td>
        <td>gdfg</td>
        <td><p style="background:blue;>cvcxvcxvx</p></td>
    </tr>
    <tr>
    <td>gfdgdfg</td>
        <td>gdfgfd</td>
        <td style="background:blue;>dfgdf</td>
        <td><div><div><button style="background:blue; type="submit"/></div></div></td>
    </tr>
    <tr>
    <td>gfdgdfg</td>
        <td>gdfgfd</td>
        <td>dfgdf</td>
        <td>dfgdf</td>
    </tr>
    <tr>
    <td>gfdgdfg</td>
        <td>gdfgfd</td>
        <td>dfgdf</td>
        <td><div><div><button style="background:blue; type="submit"/></div></div></td>
    </tr>
</table>
4

2 回答 2

2

这不会很快,但它会起作用:

var $blueElements = $("tr *").filter(function() {
    return $(this).css("background-color") == "blue";
});

您是否有理由不能使用 CSS 类将蓝色背景放在每个元素上?然后你可以使用该类来选择它们:$(".blue-element")

于 2012-08-10T08:32:14.407 回答
2

接着就,随即 ?

$(function() {
    $('tr').find('*').each(function(i) {
         if ( $(this).css('background-color') == 'rgb(0, 0, 255)' )
            alert($(this).text());
    });
});​

http://jsfiddle.net/xHgVf/3/

于 2012-08-10T08:53:08.087 回答