如何在jQuery中使用find?

时间:2012-08-21 15:44:53

标签: javascript jquery html

​<table>
    <tr>
        <td>aaa</td>
        <td>aaa</td>
        <td>
            <div title="now">
                <div id="here">here</div>
            </div>
        </td>
        <td>
            <div>vvvv</div>
        </td>
        <td>
            <div>vvvv</div>
        </td>
        <td>
            <div title="now">vvvv</div>
        </td>
        <td>
            <div  title="now">vvvv</div>
        </td>
    </tr>
</table>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

我在#here。我想从这个地方添加所有div title="now"的课程。我想使用find或其他,但我不能将其设置为$('div[title=now]')

$(#here).parent().parent().find(????).addClass('new');

3 个答案:

答案 0 :(得分:6)

$("#here").closest("tr").find("div[title=now]").addClass('new')

我在这里使用closest找到第一个父tr,这比调用parent两次好一点。 find就像你写的一样。

目前还不是特别清楚你是否希望所有这三件事都被选中,但是你应该能够从中做到这一点!

应该做的工作。这是一个显示正在发生的事情的小提琴。 http://jsfiddle.net/MurwG/3/

(顺便说一句,最接近父母的速度比这里所示:http://jsperf.com/jquery-parents-vs-closest/8

答案 1 :(得分:2)

$("#here").closest("td").find("div[title=now]").addClass('new')

我不确定您是要选择单元格中的所有div还是行中的所有div - 然后使用.closest("tr")

答案 2 :(得分:0)

$( “#这里”)的父()的父()的父()发现( “DIV [标题=现在]”)addClass( “新”)。。

http://jsfiddle.net/2xAVn/