问题描述
我尝试在输入字段中搜索项目列表,
<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;
}
}
解决方法
我对搜索方法不熟悉...但是
var result=$(\'.display li[\"title=\'+$(\'input[name=\"q\"]\').val()+\'\"]\');
会选择您要查找的锂
我认为@ robin-pyon在考虑:contains()选择器,.contains()方法实际上是在另一个dom元素内搜索一个dom元素,如果要搜索的文本包含在LI中,则可以使用此方法选择用户界面:
var result=$(\'.display li:contains(\"\'+$(\'input[name=\"q\"]\').val()+\'\")\');
, 如果只想突出显示与输入值匹配的列表项,则还可以尝试使用.contains()
(如果要部分匹配),否则可以使用Trey提到的包含选择器的属性。
两者的示例,包括不区分大小写的“ 8”,可以在此处找到。