0

我正在使用一个名为 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>不对应的项目?

这是一个小提琴,可以更好地理解我在说什么。

这可能吗 ?

4

1 回答 1

0

在您通过 JSFiddle 提供的代码中,我看到负责在查询中进行比较的缓存 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/

但是,还有另一种解决方案是向快速搜索构造函数提供selector值,如下所示:

$("#id_search").quicksearch("ol li article ", {
                                               noResults: '#noresults',
                                               loader: 'span.loading',
                                               selector: '.ecf-answer'
                                               });

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

我希望这就是你要找的。

干杯:)

于 2014-01-20T20:03:21.237 回答