Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 使用jQuery按标签中的内容筛选标签_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuery按标签中的内容筛选标签

Javascript 使用jQuery按标签中的内容筛选标签,javascript,jquery,html,Javascript,Jquery,Html,我想在标签之间搜索,只显示符合要求的标签。因此,当您加载页面时,所有标记都是可见的。当您在搜索框中键入时,我想按标签中的标题过滤标签 $'search'。在'keyup'上,函数E{ var search=$this.val.toLowerCase; $'content'.children.childrenp.eachfunction{ $this.parent.parent[搜索和$this.text.toLowerCase.match'^'+搜索?'show':'hide']; }; };

我想在标签之间搜索,只显示符合要求的标签。因此,当您加载页面时,所有标记都是可见的。当您在搜索框中键入时,我想按标签中的标题过滤标签

$'search'。在'keyup'上,函数E{ var search=$this.val.toLowerCase; $'content'.children.childrenp.eachfunction{ $this.parent.parent[搜索和$this.text.toLowerCase.match'^'+搜索?'show':'hide']; }; }; 约翰

其他内容。

Jenny

其他内容。

Jane

其他内容。

杰克

其他内容。
要实现这一点,您可以使用过滤器查找不符合搜索要求的.title元素,然后隐藏其父.box。但是请注意,对于不区分大小写的搜索,您需要使用自己的逻辑扩展:jQuery运算符,该逻辑是:contains的变体,类似于:

jQuery.expr[':']['contains-insensitive']=functiona,i,m{ 返回jQuerya.text.toUpperCase.indexOfm[3]。toUpperCase>=0; }; 变量$box=$'.box'; $“搜索”。在“输入”上,函数E{ $box.show; $'.title.filter`:not:包含不敏感的“${this.value}”`.closest.box.hide; }; 约翰

其他内容。

Jenny

其他内容。

Jane

其他内容。

杰克

其他内容。
要实现这一点,您可以使用过滤器查找不符合搜索要求的.title元素,然后隐藏其父.box。但是请注意,对于不区分大小写的搜索,您需要使用自己的逻辑扩展:jQuery运算符,该逻辑是:contains的变体,类似于:

jQuery.expr[':']['contains-insensitive']=functiona,i,m{ 返回jQuerya.text.toUpperCase.indexOfm[3]。toUpperCase>=0; }; 变量$box=$'.box'; $“搜索”。在“输入”上,函数E{ $box.show; $'.title.filter`:not:包含不敏感的“${this.value}”`.closest.box.hide; }; 约翰

其他内容。

Jenny

其他内容。

Jane

其他内容。

杰克

其他内容。 内容以ID为内容的元素为目标。您已将类内容分配给div,其目标应为.content

$'search'。在'keyup'上,函数E{ var search=$this.val.toLowerCase; $'.content'.children.childrenp.eachfunction{ $this.parent.parent[搜索和$this.text.toLowerCase.match'^'+搜索?'show':'hide']; }; }; 约翰

其他内容。

Jenny

其他内容。

Jane

其他内容。

杰克

其他内容。 内容以ID为内容的元素为目标。您已将类内容分配给div,其目标应为.content

$'search'。在'keyup'上,函数E{ var search=$this.val.toLowerCase; $'.content'.children.childrenp.eachfunction{ $this.parent.parent[搜索和$this.text.toLowerCase.match'^'+搜索?'show':'hide']; }; }; 约翰

其他内容。

Jenny

其他内容。

Jane

其他内容。

杰克

其他内容。
以下是工作代码:


以下是工作代码:


您正在尝试动态调用对象上的方法吗?使用此重载.toggle:您有一个类型错误class=content和$'content'replace.text,以及其他人指出的$.attrtitle和$.content。您正在尝试动态调用对象上的方法吗?使用此重载.toggle:您有一个类型错误class=content和$'content'replace.text正如其他人指出的那样,$.content这并不是我想要做的。我只想通过标题和其他内容进行过滤。这并不是我想要做的。我只想按标题和其他内容过滤。
$('#search').on('keyup', function(e) {
            var search = $(this).val().toLowerCase();
            $('.content').children().find("p").each(function() {console.log($(this).text());
                $(this).parent().parent()[search && $(this).text().toLowerCase().match('^' + search) ? 'show' : 'hide']();
    });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="search" />
    <div class="content">
            <a>
                <div class="box">
                    <img>
                    <p class="title">John</p>
                    Other content.
                </div>
            </a>
            <a>
                <div class="box">
                    <img>
                    <p class="title">Jenny</p>
                    Other content.
                </div>
            </a>
            <a>
                <div class="box">
                    <img>
                    <p class="title">Jane</p>
                    Other content.
                </div>
            </a>
            <a>
                <div class="box">
                    <img>
                    <p class="title">Jack</p>
                    Other content.
                </div>
            </a>
     </div>