0

DOMツリーでクリックされたアイテムの親にアクセスしようとしていますが、何らかの理由でその親がありません。

これが私のjQueryです:

$('.video-icon').click(function() {
    alert($(this).closest('.video-space').html())
});

そして私のhtml:

<div class="video">
    <div class="video-space">
        <img src="img/video-1.jpg" alt="" class="video-img">
    </div>
    <div class="video-info">
        <div class="video-icon">
            <img src="img/video.svg" alt="" class="video-icon-img">
        </div>
        <h3 class="video-text">Watch video</h3>
        <h3 class="video-title" data-video="http://www.youtube.com/watch?v=xxxxxxxxx">Toy Story Trailer</h3>
    </div>
</div>

それを機能させるためのアドバイスは素晴らしいです!

4

2 に答える 2

4

.video-spaceの祖先ではありません.video-iconclosestセレクターに一致する最初の祖先要素を探します。これが機能しない理由です。

次のようなものが必要です。

$('.video-icon').click(function() {
    alert($(this).closest('.video').find('.video-space').html())
});

例: http://jsfiddle.net/6zAN7/14/

于 2013-03-10T21:23:50.797 に答える
0

HTML コードの .video-space 内に .video-icon が表示されません。そのため、.video-icon がクリックされると、親の中から .video-space を見つけようとしますが、何もないため、何も出力しません。

おそらく兄弟を見つけようとしているのでsibling('.video-space')、parent() の代わりに使用してください。

于 2013-03-10T21:24:15.113 に答える