jQuery НАЙТИ div, локальный для кнопки - PullRequest
0 голосов
/ 08 февраля 2012

Я пытаюсь найти DIV, который находится рядом с кнопкой, на которую я нажимаю, но не могу найти ее ... Код такой, как ниже.В основном мое использование ближайшего или находящегося или находящегося в наследстве или предыстории дочернего или родительского элемента, похоже, не определяет местонахождение DIV ".tweetButtonOverlayWrapper" для переключения класса согласно вызову 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>

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Вы не можете найти свой элемент, потому что div.tweetButtonOverlayWrapper на самом деле не родитель для вашего a. Это будет работать:

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

});

код: http://jsfiddle.net/ZzfrN/

0 голосов
/ 08 февраля 2012

tweetButtonOverlayWrapper является родителем родителя 'a', следующее должно сделать это.

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

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

...