jquery quicksearch元素搜索不按预期工作

时间:2014-01-16 23:40:26

标签: javascript jquery jquery-plugins quick-search

我正在使用一个名为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,可以更好地理解我在说什么。

这可能吗?

1 个答案:

答案 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'
                                               });

http://jsfiddle.net/2QAdv/2/

我希望这就是你要找的东西。

干杯:)