隐藏/显示多个DIV类切换| WP / jQuery的

时间:2013-05-28 06:23:54

标签: wordpress class toggle hide

我已经对该网站进行了搜索,但没有找到解决方案,因此希望获得以下指导:

我在页面上显示一个wordpress帖子摘录列表,每个列表都在自己的DIV中。 我将post标签输出到DIV类。

我想要实现的是基于DIV类的自定义过滤器。 在最初打开页面时,将显示所有DIV。 然后onclick只有所需类的DIVS保持可见。 这稍微复杂一些,因为大多数DIVS将在其类中包含多个WP标记。

html的一个例子可能是:

<a href="[command to show all DIVS]">All</a>
<a href="[command to show only class 'apple']">Apples</a>
<a href="[command to show only class 'mango']">Bananas</a>
<a href="[command to show only class 'orange']">Oranges</a>

<div class="apple orange">
<h3>Post 1 Title:</h3>
<p>Post excerpt</p>

<div class="apple">
<h3>Post 1 Title:</h3>
<p>Post excerpt</p>

<div class="mango orange">
<h3>Post 1 Title:</h3>
<p>Post excerpt</p>

这可以用jquery完成吗?

2 个答案:

答案 0 :(得分:0)

是的,这可以通过jQuery实现。

尝试做这样的事情 -

<a href="javascript:$('.tag').show();return false;">All</a><!-- Show all tag class -->
<a href="javascript:$('.tag').hide(); $('.apple').show();return false;">Apples</a><!-- Hide all tag class then show only apple class -->
<a href="javascript:$('.tag').hide(); $('.mango').show();return false;">Mango</a><!-- Hide all tag class then show only mango class -->
<a href="javascript:$('.tag').hide(); $('.orange').show();return false;">Oranges</a><!-- Hide all tag class then show only orange class -->

<div class="tag apple orange"><!-- Add tag class -->
    <h3>Post 1 Title:</h3>
    <p>Post excerpt</p>
</div>

<div class="tag apple"><!-- Add tag class -->
    <h3>Post 1 Title:</h3>
    <p>Post excerpt</p>
</div>

<div class="tag mango orange"><!-- Add tag class -->
    <h3>Post 1 Title:</h3>
    <p>Post excerpt</p>
</div>

是的,你需要jQuery才能做到这一点。

答案 1 :(得分:0)

以下是您的示例 -

HTML

<ul>
    <li><a href="javascript:void(0)" rel="all">All</a></li>
    <li><a href="javascript:void(0)" rel="apple">Apple</a></li>
    <li><a href="javascript:void(0)" rel="mango">Mango</a></li>
    <li><a href="javascript:void(0)" rel="orange">Orange</a></li>
</ul>


<div class="grids">

    <div class="grid apple">apple</div>
    <div class="grid apple">apple</div>
    <div class="grid mango">mango</div>
    <div class="grid mango">mango</div>
    <div class="grid orange">orange</div>
    <div class="grid orange">orange</div>
    <div class="grid orange">orange</div>

</div>

和jquery

$('document').ready(function(){

    $('ul li a').click(function(){
        var data = $(this).attr('rel');
        if(data == 'all'){
            $('.grids .grid').show();
        }
        else {
            $('.grids .grid').hide();
            $('.grids .grid.'+data).show();
        }
        return false;
    });

});

查看实时演示 - http://jsfiddle.net/5kk3K/

希望这会对你有所帮助:)。