Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Wordpress边栏小部件中隐藏列表项?_Javascript_Jquery_Wordpress - Fatal编程技术网

Javascript 如何在Wordpress边栏小部件中隐藏列表项?

Javascript 如何在Wordpress边栏小部件中隐藏列表项?,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我试图在WordPress的边栏小部件中隐藏一个列表条目。这是一个截图。标有A.的边栏小部件由4个组合框组成。在第一个标有Werkstatt的组合框中有一个叫做Neues Inserat hinzufügen的项目。我的目标是隐藏此项目 我已经尝试了很多不同的方法,下面使用jQuery的方法似乎是最好的。但它不起作用,要么完整的组合框消失,要么条目Neues Inserat hinzufügen根本不消失。下面是我在functions.php中的代码片段: 现在没有更多错误,但列表项仍然存在:

我试图在WordPress的边栏小部件中隐藏一个列表条目。这是一个截图。标有A.的边栏小部件由4个组合框组成。在第一个标有Werkstatt的组合框中有一个叫做Neues Inserat hinzufügen的项目。我的目标是隐藏此项目

我已经尝试了很多不同的方法,下面使用jQuery的方法似乎是最好的。但它不起作用,要么完整的组合框消失,要么条目Neues Inserat hinzufügen根本不消失。下面是我在functions.php中的代码片段:

现在没有更多错误,但列表项仍然存在:

我猜操作钩子wp_footer可以工作,否则我不会在脚本中抛出任何错误,对吗?

您错误地将包含文本的s作为目标,但文本位于其自身的文本节点中,因此它是脚本的同级。这很可能会奏效:

作用${ $window.on'load',filterResults; $'select'。在'select2:opening'上,filterResults; 函数过滤器结果{ $li>。选择2-result-label.filterfunction{ 返回$this.text.indexOf'Neues Inserat hinzufügen'>-1 }.最近的“李”。隐藏; } }jQuery; 测试:

作用${ $window.on'load',filterResults; $'select'。在'select2:opening'上,filterResults; 函数过滤器结果{ $div.filterfunction{ 返回$this.text.indexOf'Neues Inserat hinzufügen'>-1 }.最近的'div'。隐藏; } }jQuery; 布拉布拉·布拉·诺伊斯·因斯特拉特·辛祖夫根 呜呜呜呜 新竹新酒店 呜呜呜呜 呜呜呜呜 新进大学 呜呜呜呜 新进大学


为什么不干脆$'select2-result-label-5'。parent.hide本例中的最后一个数字是动态分配的。每次构建页面时,这个数字的范围可以是1到n。在我更新我的答案之前,您可以指定如何加载搜索结果吗?是ajax调用吗?我修改了答案。我命名了过滤函数,因此它可以运行多次。我在加载页面和打开select2时运行了一次。这是个好消息。这意味着结果已经在页面中。现在试试看。这应该是你想要的。我有机会检查一下吗?让我们检查一下。
<?php
function js_hide_list_entry() {
?>
    <script type="text/javascript">
    jQuery(function ($) {
        $(document).ready(function () {
            $("div span:contains('Neues Inserat hinzufügen')").parent("div").hide();
        });
    });
    </script>
<?php
}
add_action( 'wp_footer', 'js_hide_list_entry' );
?>
<?php
function js_hide_list_entry() {
?>
<script type="text/javascript">
jQuery(function ($) {
    $(document).ready(function () {
        $("div").filter(function() { 
          return ($(this).text().indexOf('Neues Inserat hinzufügen') > -1) 
        }).closest('div').hide();
      });
    });
    </script>
<?php
}
add_action( 'wp_footer', 'js_hide_list_entry' );
?>