Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
Jquery 问题listfilter仅在某些css类中存在_Jquery - Fatal编程技术网

Jquery 问题listfilter仅在某些css类中存在

Jquery 问题listfilter仅在某些css类中存在,jquery,Jquery,我是jQuery新手,需要帮助。我得到了这个代码,很好用: <script> (function ($) { // custom css expression for a case-insensitive contains() jQuery.expr[':'].Contains = function(a,i,m){ return (a.textContent || a.innerText || "").toUpperCa

我是jQuery新手,需要帮助。我得到了这个代码,很好用:

<script>
    (function ($) {
        // custom css expression for a case-insensitive contains()
        jQuery.expr[':'].Contains = function(a,i,m){
            return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
        };

        function listFilter(header, list) { // header is any element, list is an unordered list
            // create and add the filter form to the header
            var form = $("<form>").attr({"class":"filterform","action":"#"}),
            input = $("<input>").attr({"class":"filterinput","type":"text"});
            $(form).append(input).appendTo(header);

            $(input).change( function () {
                var filter = $(this).val();
                if(filter) {
                    // this finds all links in a list that contain the input,
                    // and hide the ones not containing the input while showing the ones that do
                    $(list).find("a:not(:Contains(" + filter + "))").parent().slideUp();
                    $(list).find.hasClass(Lot) + ("a:Contains(" + filter + ")").parent().slideDown();
                } else {
                    $(list).find("li").show();
                }
                return false;
            }).keyup( function () {
                // fire the above change event after every letter
                $(this).change();
            });
        }

        //ondomready
        $(function () {
            listFilter($("#header"), $("#list"));
        });
    }(jQuery));
</script>

</head>
    <body>
        <div id="wrap">
            <h1 id="header">List of countries</h1>
            <ul id="list">
                <li>
                    <p class="Lot">1001</p>
            <p class="Desc para-style-override-1">
                        KARMAPA. Tibet, 19./20. Jh. H 14,8 cm.<br>Bronze.
                        Sitzender Lama in dhyanasana auf Lotosthron. Mit seiner rechten Hand 
                        ruft er die Erde als Zeugin an, während die Linke in Meditationsgestus 
                        ein Wassergefäss hält. Gewand mit eingraviertem Blumendekor.
                    </p>
            <p class="Footnote para-style-override-1">
                        Carl Laszlo collection, Basel.
                    </p>
            <p class="LotEst para-style-override-1">CHF 1 000.- / 1 500.-</p>
            <p class="Est2 para-style-override-1">(€ 830.- / 1 250.-) </p>
                </li>
                <li>
                    <p class="Lot">1002*</p>
            <p class="Desc para-style-override-1">
                        KLEINER AMITAYUS. Tibetochinesisch, 18./19. Jh. H 11 cm.<br>Bronze.
                        Der Buddha des ewigen Lebens sitzt in der Lotoshaltung auf einem 
                        Doppellotosthron. Fein gestaltetes Gesicht. Unverschlossen. Min. besch.
                    </p>
            <p class="LotEst para-style-override-1">CHF 500.- / 800.-</p>
            <p class="Est2 para-style-override-1">(€ 420.- / 670.-)</p>
                </li>
            </ul>

(函数($){
//不区分大小写的contains()的自定义css表达式
jQuery.expr[':'].Contains=函数(a,i,m){
返回(a.textContent | | a.innerText | |“”).toUpperCase().indexOf(m[3].toUpperCase())>=0;
};
函数listFilter(header,list){//header是任意元素,list是无序列表
//创建筛选表单并将其添加到标题中
var form=$(“”).attr({“类”:“过滤性能”,“操作”:“#”}),
输入=$(“”).attr({“类”:“过滤器输入”,“类型”:“文本”});
$(表单).append(输入).appendTo(标题);
$(输入).更改(函数(){
var filter=$(this.val();
如果(过滤器){
//这将查找包含输入的列表中的所有链接,
//并隐藏不包含输入的内容,同时显示包含输入的内容
$(列表).find(“a:not(:Contains(“+filter+”))).parent().slideUp();
$(list.find.hasClass(Lot)+(“a:Contains(“+filter+”))).parent().slideDown();
}否则{
$(list.find(“li”).show();
}
返回false;
}).keyup(函数(){
//在每个字母后触发上述更改事件
$(this.change();
});
}
//昂多姆雷迪
$(函数(){
listFilter($(“#标题”)、$(“#列表”);
});
}(jQuery));
国家名单
  • 1001

    噶玛巴。西藏,十九,二十。Jh。高14.8厘米。
    青铜色。 禅宗中的西赞德喇嘛。麻省理工学院塞纳·雷克斯登之手 在冥想的过程中,你会发现你在沉思 艾因·瓦塞尔盖夫斯·格温特·布卢门德科。

    卡尔·拉兹洛收藏,巴塞尔。

    1000瑞士法郎-

    (830欧元/1250欧元)

  • 1002*

    克莱纳·阿米塔尤斯。藏汉语,18/19。Jh。高11厘米。
    青铜色。 佛陀坐在那里 Doppellotosthron。费恩·盖斯泰特斯·盖斯希特。安弗斯洛森。贝施小姐。

    瑞士法郎500-/800-

    (420欧元/670欧元)

我只想过滤
p class=“Lot”
中的数字,但显示整个
li

我尝试了
.hasClass
,但没有成功。谢谢你的帮助

 $(list).find.hasClass(Lot)
不能工作。未定义批次变量;-)

试一试

使用jQuery按类选择元素的最简单方法是

$('.Lot',list);
您可以将其组合:

$(".Lot:Contains(" + filter + ")", list).parent().slideDown();

练习:

谢谢,但是我如何结合课堂和输入$(list.find.hasClass(“Lot”)+(“a:包含(“+filter+”))).parent().slideDown();编辑答案。您应该阅读一些教程并尝试更好地理解jQuery,因为您的代码很难阅读。
$(".Lot:Contains(" + filter + ")", list).parent().slideDown();