javascript - 使用 jQuery 根据其 data-* 属性显示/隐藏内容

标签 javascript jquery html custom-post-type

我正在 WordPress 中创建一个网站,并使用工具集插件(自定义字段和帖子类型)来创建在项目页面上显示的项目。我创建的所有项目都分配有一个类别(例如完整项目正在进行的项目),然后我有菜单对象显示所有类别,例如“所有连续的“项目”、“已完成的项目”

我希望能够根据您单击的菜单对象/名称显示我创建的项目,因此当用户单击 ex 时,应显示所有已完成的项目。 “已完成的项目”正在进行的项目 a.s.o.

这是动态分配给它的data-categorydiv(所以当我创建一个项目并向其中添加一个类别时,它会被添加到其中) ):

<div class="project_wrapper" data-category="[wpv-post-taxonomy type='category' format='slug']"> <!-- The project code --> </div>

这是用户可以单击的菜单对象列表:

<div class="project_menu">
 <ul>
  <li id="all" class="objects">All Projects</li>
  <li id="complete" class="objects">Completed Projects</li>
 </ul>
</div>

这就是应该.hide.show核心项目的jQuery,具体取决于传递的数据类型 .

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

 // Show all projects
 $("#all").click(function(){
  $('.project_wrapper[data-category=show-all]').show();
 });

 // Complete projects
 $("#complete").click(function(){
   $('project_wrapper[data-category=complete]').show();
 });

});

目前这不起作用。如果我将 project-wrapper 的父级设置为显示 .show 和/或 .hide 它工作得很好,但是当我通过通过 jQuery 的 data-* 它不会改变任何东西。我对 JavaScript 和 jQuery 相当陌生,如果它很困惑,我很抱歉。谢谢!

最佳答案

也许添加引号可以解决这个问题。

jQuery(document).ready(function($){
    // Show all projects
    $("#all").click(function(){
        $('.project_wrapper[data-category="show-all"]').show();
    });

    // Complete projects
    $("#complete").click(function(){
        $('.project_wrapper[data-category="complete"]').show();
    });
});

元素一开始就被隐藏了吗?如果是的话怎么办?

.show() is roughly equivalent to calling .css( "display", "block" )

但是

If using !important in your styles, such as display: none !important, .show() will not override !important

因此,在调用函数之前了解 CSS 是什么样子会很有用。

关于javascript - 使用 jQuery 根据其 data-* 属性显示/隐藏内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53778517/

相关文章:

javascript - 我如何在 JavaScript 和 Python 中对 unicode 字符串进行 base64 编码?

javascript - 清除 session 数据

javascript - 如何在 javascript 中返回消息 "Please enter a valid number"

javascript - 如何使用 jQuery/javascript 将事件处理限制为每 X 秒一次?

javascript - 在初始页面加载和滚动时运行 jQuery 函数

html - Rails 应用程序中的当前页面类

javascript - Firefox 三击选择返回不正确的开始和结束偏移

PHP 获取数组变量提交后的值

jquery - 如何在 jQuery 中克隆单选按钮并修改选中状态?

javascript - 仅当从两个单选按钮中选择某些答案时才需要文本区域