0

クリックしているボタンの近くにある DIV を見つけようとしていますが、見つけられないようです...コードは次のとおりです。基本的に、子供または親の最も近いまたは検索または前の使用は、「.tweetButtonOverlayWrapper」DIVを見つけて、jQuery呼び出しごとにクラスを切り替えるようには見えません...私が間違っていることのアイデアはありますか???

jQuery:

$('.tweetActionsButtonWrapper a').click(function () {
    $(this).closest('div.tweetButtonOverlayWrapper').toggleClass('tweetButtonOverlayWrapperON');
});

HTML:

<ul>
<li>

<!-- Overlay Buttons -->
<div class="tweetButtonOverlayWrapper" id="tweet"><p>content</p></div>
<!-- end of Overlay Buttons -->

<div class="tweetDetailContentWrapper">
<div class="tweetAvatarBorder"></div><div class="tweetAvatar"><p>content</p></div>
<div class="tweetDetailWrapper">
<p class="tweetDetailAutor"><a href="#">@name</a> <span class="tweetDetailAutorTimeStamp">15 minutes ago</span></p>
<p>This is where the interesting tweet will sit... Easily allows us to display all 140 characters which is the maximum any tweet will allow....</p>
</div>
<div class="tweetActionsButtonWrapper"><a href="#" class="timeSegment-link tweetActionsButtonNoRightAlign" title="">More actions</a></div>
</div>

</li>

<li>

<!-- Overlay Buttons -->
<div class="tweetButtonOverlayWrapper" id="tweet"><p>content</p></div>
<!-- end of Overlay Buttons -->

<div class="tweetDetailContentWrapper">
<div class="tweetAvatarBorder"></div><div class="tweetAvatar"><p>content</p></div>
<div class="tweetDetailWrapper">
<p class="tweetDetailAutor"><a href="#">@name</a> <span class="tweetDetailAutorTimeStamp">15 minutes ago</span></p>
<p>This is where the interesting tweet will sit... Easily allows us to display all 140 characters which is the maximum any tweet will allow....</p>
</div>
<div class="tweetActionsButtonWrapper"><a href="#" class="timeSegment-link tweetActionsButtonNoRightAlign" title="">More actions</a></div>
</div>

</li>
</ul>
4

2 に答える 2

1

div.tweetButtonOverlayWrapperは実際には の親ではないため、要素が見つかりませんa。これはうまくいきます:

$('.tweetActionsButtonWrapper a').click(function () {
    $(this).closest('div.tweetDetailContentWrapper')
           .siblings('div.tweetButtonOverlayWrapper')
           .toggleClass('tweetButtonOverlayWrapperON');
    return false;

});

コード: http://jsfiddle.net/ZzfrN/

于 2012-02-08T15:55:31.547 に答える
0

tweetButtonOverlayWrapper は 'a' の親の兄弟です。次のようにする必要があります。

$('.tweetActionsButtonWrapper a').click(function () {
    $(this).parent().parent()
           .siblings('div.tweetButtonOverlayWrapper')
           .toggleClass('tweetButtonOverlayWrapperON');
    return false;
});

http://jsfiddle.net/dhruvasagar/ZzfrN/1/

于 2012-02-08T16:03:40.197 に答える