我尝试用输入字段搜索项目列表,
<ul class="display">
<li title="Pizza Otto">some divs</li>
<li title="Pizza Prono">some divs</li>
<li title="Pizza David">some divs</li>
</ul>
下面的代码适用于<li>...</li>
中的单词。我想在那里放一些div,并在<li>
中添加一个title属性来进行搜索。
$('input[name="q"]').search('.display li', function(on) {
on.all(function(results) {
var size = results ? results.size() : 0
$('#count').text(size + ' results');
});
关于这里的右选择器:.search('.display li'
,有什么想法吗?或者我必须在哪里做出改变?
谢谢并为我的英语感到抱歉。。。
附言:这是我的第一个问题!
UPDATE:测试val是否包含的函数
function query(selector) {
if (val = this.val()) {
return $(selector + ':contains("' + val + '")');;
} else {
return false;
}
}
如果你只想突出显示与输入值匹配的列表项,你也可以尝试使用.contains()
(如果你想要部分匹配),否则你可以使用Trey提到的属性包含选择器。
两者的一个例子,包括不区分大小写的.contains()
,可以在这里找到。
我不熟悉搜索方法。。。但是
var result=$('.display li["title='+$('input[name="q"]').val()+'"]');
会选择您要查找的李
我认为@robin-pyon考虑的是:contains()选择器,.contents()方法实际上是在另一个dom元素中搜索一个dom元素,如果你想搜索的文本包含在LI中,你可以用它来选择ui:
var result=$('.display li:contains("'+$('input[name="q"]').val()+'")');