Het伙计们, 即时通讯使用JQuery和东西是我在div中有一些显示元素。 这是我们的网站来源:
<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">
答案 0 :(得分:0)
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();
});