JQuery搜索功能,为什么我的潜水不隐藏



Het 伙计们,我乞求使用JQuery,东西是我在div中有一些显示元素。这是WE网站来源:

<div id="application-list" class="row boxes">
    <h1>nowa3</h1>
    <div class="box col-md-4" id="Acrobat Reader 10">
        <div class="thumbnail">
            <div class="caption">
                <h3><img class="icon" src="/Acrobat%20Reader%2010.png" alt="Acrobat Reader 10" /> Acrobat Reader 10</h3>
                <div class="row">
                    <div class="pull-right"> <a data-toggle="modal-loading" data-target="#application-launching-modal" target="application-launcher" href="/Acrobat%20Reader%2010.ica" class="btn btn-sm btn-primary">Run</a>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

我想做搜索功能。 我确实输入了 fild 和提交按钮,我设置了这样的代码:

$(document).ready(function() {
    $('#button').click(function () {
        var value = $('#appName').val();
        $('.col-md-4').each(function() {
            if ($(this).contains($(this), value)) {
                $(this).show();
            }
            else $(this).hide();
        });   
    });     
});

其中#button是subbmit按钮的id,#appName是输入字段的id,.col-md-4是我想隐藏的div类在搜索时显示?当我想要警报时它不起作用$(this).id它不显示任何按钮单击警报输入的值。怎么了?

<input type="text" id="appName"><button type="submit" id="button">Find</button>

它之前: <div id="application-list" class="row boxes">

jQuery .contains()检查一个元素是否是另一个元素的后代,并且不检查元素中是否存在字符串,您应该为此使用 indexOf()

$('#button').click(function () {
    var value = $('#appName').val();
    $('.col-md-4').each(function() {
        if ( $(this).text().indexOf(value) != -1 ) {
            $(this).show();
        } else {
            $(this).hide();
        }
    });   
});     

:contains伪选择器,与.contains()

不同
$('#button').click(function () {
    var value = $('#appName').val();
    $('.col-md-4').hide().filter(':contains('+value+')').show();
});     

最新更新