-1
​<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');
4

3 に答える 3

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

私はclosestここで、である最初の親を見つけるために使用しました。これは、 2回tr呼び出すよりも少し良いです。parentあなたfindが書いた通りです。

title = nowが選択されている3つすべてが必要かどうかは特に明確ではありませんが、これから解決できるはずです。

仕事をする必要があります。これが何が起こっているのかを示すフィドルです。http://jsfiddle.net/MurwG/3/

(ちなみに、ここに示されているように、最も近いのは親よりも速いです:http: //jsperf.com/jquery-parents-vs-closest/8

于 2012-08-21T15:47:01.190 に答える
2
$("#here").closest("td").find("div[title=now]").addClass('new')

セル内のすべてのdivを選択するか、行内のすべてを選択するかがわかりません。次に、を使用します.closest("tr")

于 2012-08-21T15:48:22.537 に答える
0

$( "#here")。parent()。parent()。parent()。find( "div [title = now]")。addClass( "new"); </ p>

http://jsfiddle.net/2xAVn/

于 2012-08-21T15:50:22.453 に答える