我正在使用一个名为quicksearch的jquery插件来过滤评论列表。
以下是标记的摘录:
<ol class="commentlist">
<li class="comment byuser comment-author-admin bypostauthor even thread-even depth-1" id="li-comment-9">
<article id="comment-9" class="comment">
<div class="comment-content">
<p><span class="ecf-field ecf-field-1">
<strong class="ecf-question">I CHOOSE :</strong><span class="ecf-answer">HTML5</span>
</span></p>
<p>I agree with HTML 5</p>
</div>
</article><!-- #comment-## -->
</li><!-- #comment-## -->
我想要的是按<span class="ecf-answer">HTML5</span>
搜索,以便搜索查询与HTML5
匹配,以显示与搜索查询对应的<li>
项。
问题在于,如果我搜索HTML5
,则会搜索整个<li>
项,而不只是搜索<span class="ecf-answer">HTML5</span>
我的问题是我如何才能搜索此<span class="ecf-answer">HTML5</span>
,但仍会删除所有不对应的<li>
项?
这是一个fiddle,可以更好地理解我在说什么。
这可能吗?
答案 0 :(得分:0)
在你通过JSFiddle提供的代码中,我看到缓存var,即负责在查询中进行比较的缓存var,作为整个<li>
内部结构传递。
编辑第134行:
return e.strip_html(this.innerHTML);
到
return e.strip_html($(this).find(".ecf-answer").html());
...然后你告诉应用程序只比较每个项目的.efc-answer部分。
这是工作小提琴http://jsfiddle.net/2QAdv/1/
但是,还有另一个解决方案是向quicksearch构造函数提供selector
值,如下所示:
$("#id_search").quicksearch("ol li article ", {
noResults: '#noresults',
loader: 'span.loading',
selector: '.ecf-answer'
});
我希望这就是你要找的东西。
干杯:)