jquery - 按答案数过滤问题

标签 jquery

(关于在 StackOverflow 上过滤内容的 jQuery 问题。我发誓,它不属于 Meta!)

问题
我希望使用 Greasemonkey 脚本来过滤主页、问题和未回答页面上的问题。现在我有一个解决方案(如下),但处理需要几秒钟,我想知道是否有更好的方法。

背景
如果您还没有看过主页的结构,它与此非常相似:
(出于问题目的而简化)

<div class="question-summary"> 
    <div class="status">
       <div class="mini-counts">1</div>
       <div>answers</div>
    </div>
</div>

这是问题/未回答页面的结构:

<div class="question-summary"> 
    <div class="status">
       <strong>1</strong>
       answers
    </div>
</div>

现在,我需要从每个问题中获取“1”(答案数),并检查它是否高于某个数字。目前我正在使用此代码:

function filterByAnswer(number)
{
    $.each($('.question-summary'), function()
    {
            // 
    if($('.status .mini-counts',this))
    {
        var answers = $('.status .mini-counts',this).text();
    }
    else if($('.status strong',this))
    {
        var answers = $('.status strong',this).text();
    }
    if(answers > number)
    {
        $(this).hide();
    }       
});
}

我的问题是,有没有更快的方法来做到这一点?我发现这需要几秒钟的时间来处理,并且想要一个更快捷的解决方案。

最佳答案

试试这个:

function filterByAnswer(number) 
{
    $('.question-summary').filter( 
        function () { 
            var answers = $(this).find('.status').children('.mini-counts, strong').text(); 
            return parseInt(answers, 10) < number; 
        }).hide();       
}    

关于jquery - 按答案数过滤问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1207278/

相关文章:

javascript - 为什么这个循环不会产生我想要的结果?

javascript - 具有背景大小的动画背景图像 - jsfiddle 更新

javascript - 如何在页面顶部将多个div设置为 “position: fixed and top:0”

jquery - Font-Awesome 带有滑动 JQuery 代码错误

jquery - 在列表项中查找重复的类 - .filter() 显示它们,隐藏其余的

jquery - .CSS jquery 随机

javascript - 我想要第二次弹出时输入值不被清除

javascript - 使用 jquery 更改具有子菜单的 UL 列表菜单的类

javascript - Stickit 不保存自动完成字段中的值

javascript - 如果用户在 jsp 中填写一个字段(同时使用 spring mvc 和 hibernate),我如何自动填写其他表单字段