使用Jquery查找特定类的前一个div

时间:2012-09-04 13:00:26

标签: javascript jquery

我使用jquery,我想找到前一个具有“错误”类

的div

我的HTML代码:

<table class="questions">
    <tr>
        <td class="heading">1
            <div class="error"></div>
        </td>

        <td colspan="4">
            <textarea class="textcontrol required" name='questionT136'>
            </textarea>
        </td>
    </tr>

    <tr>
        <td></td>

        <th><label for="reponse137-3">Très satisfaisant</label></th>
        <th><label for="reponse137-4">Satisfaisant</label></th>
        <th><label for="reponse137-5">Insatisfaisant</label></th>
    </tr>

    <tr class="q">
        <td class="heading">
            2
            <div class="error"></div>
        </td>

        <td class="questionradio"><input class="required" id='reponse137-3'
        name='questionN137' type='radio' value='3'></td>

        <td class="questionradio"><input class="required" id='reponse137-4'
        name='questionN137' type='radio' value='4'></td>
    </tr>
</table>

例如,从 reponse137-3 ,我想更改前一个class =“error”的值。我已经尝试使用以下方法访问该对象:

$('#reponse137-3').prev(".error")

但它不起作用。我想因为它不是同一个父母所以我试过了:

$('#reponse137-3').prev("tr").next(".error")

我该怎么办?

2 个答案:

答案 0 :(得分:4)

假设您的.error div始终位于同一个表格行中:

$('#reponse137-3').closest('tr').find('.error:first');

http://jsfiddle.net/vkfF8/

答案 1 :(得分:2)

你需要上升三次才能到达桌面,然后发现错误

$('#reponse137-3').parent().parent().parent().find('.error');

第一个父亲去th,第二个去tr和thirth to table,然后在表格中找到哪个元素有名为.error的类,你会得到它