Ориентация на родительский div с помощью jQuery - PullRequest
1 голос
/ 27 января 2010

Итак, вот моя ситуация. У меня есть сайт WordPress, и каждая запись имеет ссылку в разделе сообщений.

<div class="post" id="post-133"> 
<h2><a href="post-link" rel="bookmark" title="Link to Post">Post</a></h2> 
<div class="post-date"> 
<span class="date">Tuesday, Jan. 26, 2010</span><span class="right read"><a href="#" class="noprint show_single" id="133">Read More</a></span> 
</div>

У меня есть высота, примененная к CSS, чтобы показать только определенное количество каждого сообщения. Как я могу получить jQuery для целевого родительского элемента, чтобы добавить класс, показывающий весь пост? Вот что у меня так далеко. Я на правильном пути?

var $j = jQuery.noConflict();
var curr = (event.target).parent('div');
$j(function() {
  $j('a.show_single').click(function() {
 $j('curr').toggleClass('show');
 return false;
  });
});

Ответы [ 3 ]

0 голосов
/ 27 января 2010

Ваш вопрос неясен.

Предполагая, что вы хотите переключить класс show для div.curr, содержащего a, по которому щелкнули, вы можете вызвать метод closest, например:

$j(this).closest('div.curr').toggleClass('show');
0 голосов
/ 27 января 2010

Внутри функции события вы используете ключевое слово this, чтобы попасть в нужный контекст, а затем перебираете DOM, чтобы найти то, что вы ищете:

var $j = jQuery.noConflict();
$j(function() {
    $j('a.show_single').click(function() {
        $j(this).parents('div.post').toggleClass('show');
        return false;
    });
});
0 голосов
/ 27 января 2010
 var $j = jQuery.noConflict();
 $j(function() {
     $j('a.show_single').click(function() {
        $j(this).parents('div.post').toggleClass('show');
        return false;
     });
 });
...