1

在我的网站上,每篇文章下都有可点击的隐藏元标记,例如页面浏览量或 Google 请求。

这是我使用的代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function(){
         $(".slidingDiv").hide();
        $(".show_hide").show();
     $('.show_hide').click(function(){
    $(".slidingDiv").slideToggle();
    });
 });
 </script>

而这个PHP代码:

<p class="postmetadata"><a href="javascript:;" class="show_hide">[Show/hide meta data]</a></p>
<div class="slidingDiv">
<p class="postmetadata">Aufrufe: <?php if(function_exists('the_views')) { the_views(); } ?> </p>
<p class="postmetadata"><?php if(function_exists('stt_terms_list')) echo stt_terms_list() ;?></p>
<p class="postmetadata"><?php if (function_exists('backlinks')) backlinks(); ?></p>
<br>
</div>

我使用 WordPress。问题是,如果我点击“显示/隐藏元数据”,每篇文章都会显示元数据。我只想要我点击的文章的元数据。这是我的网站

您必须单击德语“[Zeige/Verstecke Meta-Datan]”,它等于“[显示/隐藏元数据]”。

4

1 回答 1

0

使用 jQuery 方法.next(),这将立即工作:

$('.show_hide').click(function(){
    $(this).next().slideToggle();
});

使用 jQuery 方法.siblings(),即使您重新排列元素的顺序,这也将起作用:

$('.show_hide').click(function(){
    $(this).siblings('.slidingDiv').slideToggle();
});

使用 jQuery 方法.closest(),即使您重新排列元素深度,这也有效:

$('.show_hide').click(function(){
    $(this).closest('.span-8').find('.slidingDiv').slideToggle();
});

此外,对于 jQuery/Prototype 冲突,请参阅:Prototype and jQuery together?

最简单的解决方案是创建一个临时上下文:

(function($){
    $('.show_hide').click(function(){
        $(this).siblings('.slidingDiv').slideToggle();
    });
}(jQuery));
于 2012-07-18T12:46:51.680 回答