1

私はそのようなテーブル行を持っています:

        <tr class="song-row song-row-selected" data-id="1">
                <td data-col="title">
                    <span class="song-content">
                        <img src="img/cover3.jpg" />
                        Song Title
                    </span>
                </td>
                <td>3:37</td>
                <td>song artist</td>
                <td>song album</td>
                <td>23</td>
            </tr>

歌が一時停止していることを示す div を追加したい (* で囲まれている):

        <tr class="song-row song-row-selected" data-id="1">
                <td data-col="title">
                    <span class="song-content">
                        <img src="img/cover3.jpg" />
                        Song Title
                        *<div class="song-indicator loading"></div>*
                    </span>
                </td>
                <td>3:37</td>
                <td>song artist</td>
                <td>song album</td>
                <td>23</td>
            </tr>    

私はJQueryを使用したいと思っていました。これまでのところ、私は持っています:

function displayPause() {
    $('tr.song-row.song-row-selected:first').each(function() {
        $(this).siblings('td span.song-content').add('<div class="song-indicator paused"></div>');
    });
}

言うまでもなく、div は追加されません。また、スパンからdivを簡単に削除する機能が欲しいです。誰かが私を正しい方向に向ける場所を知っていますか?

4

3 に答える 3

3

追加はあなたが望むものです:

$(this).find('td span.song-content')
       .append('<div class="song-indicator paused"></div>');

これにより、スパンの最後に div が追加されます。

また、tymeJV が言うように、あなたの td はあなたの兄弟ではありませんtr。それは子供です。children を使用するか、find を使用して取得します。

それを削除するには、 を使用しますremove。私があなたのアプリを正しく理解していれば、次のようなものになるはずです:

$('tr.song-row.song-row-selected:first')
        .find("div.song-indicator.paused").remove(); 
于 2013-06-19T16:58:28.620 に答える