更改选择下拉列表之前的表格单元格的颜色

时间:2015-06-18 06:01:05

标签: jquery html

我有一张桌子:

<table>
   <tr>
     <th>Choose</th>
     <td>
          <select name='choose' class='dropdown'>
                <option value='1'>1</option>
                <option value='1'>1</option>
                <option value='1'>1</option>
          </select>
     </td>
 </tr>
</table>

当下拉列表更改时,我想在上一个

中添加一个类
$('.dropdown').change(function(){
            $(this).closest('th').addClass('done');
});

我也尝试过:

$('.dropdown').change(function(){
            $(this).prev('th').addClass('done');
});

这并不像我希望的那样增加课程。想法?

3 个答案:

答案 0 :(得分:1)

使用closest获取距离最近的td祖先并在其上使用prev

$('.dropdown').change(function () {
    $(this).closest('td').prev('th').addClass('done');
    //      ^^^^^^^^^^^^^
});

Demo

答案 1 :(得分:1)

你需要在引用前一个之前到达父td。

 $(this).closest('td').prev('th').addClass('done');

 $(this).parent().prev().addClass('done');

答案 2 :(得分:1)

您需要找到前一个兄弟的父元素

$('.dropdown').change(function(){
    $(this).parent().prev('th').addClass('done');
});