<table id="tab" border=2>
<tr> <td>1</td><td>a</td><td>red</td> </tr>
<tr> <td>2</td><td>a</td><td>green</td> </tr>
<tr> <td>3</td><td>a</td><td>orange</td> </tr>
<tr> <td>4</td><td>a</td><td>green</td> </tr>
<tr> <td>5</td><td>a</td><td>yellow</td> </tr>
<tr> <td>6</td><td>a</td><td>blue</td> </tr>
</table>
我无法修改HTML。我只能使用jquery和css。我想做: 如果td ==红色,则此TD的所有TR均为红色,如果td ==绿色,则所有TR均为绿色。 我该怎么做?
答案 0 :(得分:9)
$('#tab tr').each(function() {
$(this).css({'background': $(this).children('td:last').text() });
});
答案 1 :(得分:1)
您可以使用.text()
获取单元格的文本值,使用.parent()
获取元素的父级。结合这些标记,您可以循环td
标记,检查它们是否包含“红色”,如果是,请获取.parent()
并将其背景颜色设置为红色。
有关工作示例,请参阅http://jsfiddle.net/sjuKa/2/:)
答案 2 :(得分:1)
JS:
var tds = $('td');
tds.each(function() {
$(this).parent().addClass( $(this).html().trim() );
})
CSS
.red
{
background-color: red;
}
所有其他的相同 - 意味着CSS类名为:orange,green等。
答案 3 :(得分:0)
$(document).ready(function(){
$('table tr').each(function(){
if($(this).children(':last').text() == 'red') {
$(this).children('td').css('background-color', 'red');
}
})
})