2012-05-03 3 views
0

Я хочу изменить цвет элемента «th» после того, как я внесу изменения в элемент «input» в элементе «td» рядом с ним.Изменить цвет фона «th» при изменении непосредственно на следующий td

Вот сценарий jquery, который я использовал.

$('#phoneNo').change(function() { 
    $(this).closest("tr").find("th").css("background-color","yellow"); 
    }); 

HTML код

<tr> 
    <th>PhoneNo</th> 
    <td><input type="text" id="phoneNo"/></td> 
    <th>EmailId</th> 
    <td><input type="text" id="emailId"/></td> 

</tr> 

Он ведет себя, как я могу ожидать, - это изменяет цвет фона всех «е» элементов (как PHONENO и EMAILID в коде) в строке. Но то, что я хочу, чтобы изменить цвет только один «th'-за только что предшествующий соответствующий ТД '(только PHONENO)

+0

О, я мог бы использовать 'id' на каждом 'th' элеме. Я не знаю. благодаря –

ответ

1
$('#phoneNo').change(function() { 
    $(this).parent().prev("th").css("background-color","yellow"); 
}); 

Обратите внимание, что поскольку .prev() ищет предыдущих братьев и сестер, вам нужно сначала найти элемент td