0

我正在尝试找到位于我单击的按钮附近的 DIV,但似乎无法找到它...代码如下。基本上我使用最接近或查找或上一个孩子或父母似乎没有找到“.tweetButtonOverlayWrapper”DIV来根据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 回答