用选择器隐藏父元素带过滤功能(jQuery)

时间:2014-02-11 01:02:35

标签: javascript jquery css filter jquery-selectors

我想在http://ThePirateBay.se上隐藏包含少于250种子的搜索结果。我的问题是,我不知道如何使用filter选项来检测种子元素,但是在检测到数字范围时也隐藏了父元素。下半场不起作用。感谢帮助。

$(document).ready(function(){
    var tds=$("td").filter(function() {
        if($(this).text()>250&&$(this).text()<25000){
            return this;
        }
    });
    tds.css( {"text-decoration":"underline" , "color":"#383"});
});


$(document).ready(function(){
    var tds=$("TD > #searchResult TR").filter(function() {
        if($(this).text()>001&&$(this).text()<249){
            return this;
        }
    });
    tds.css( {"opacity":"0.35" , "color":"#777"});
});

jQuery网页注入器自我测试:https://chrome.google.com/webstore/detail/jscript-tricks/odialddippdmebbfbflcneemfdglimod(JScript技巧)


P.S,下半部分不工作,两部分都不起作用。

2 个答案:

答案 0 :(得分:0)

在比较之前,你必须将文本解析为int

$(document).ready(function(){
    var tds = $("td").filter(function() {
        return (+$(this).text() > 250 && +$(this).text() < 25000);
    });
    tds.css( {"text-decoration":"underline" , "color":"#383"});
});


$(document).ready(function(){
    var tds = $("TD > #searchResult TR").filter(function() {
        return (+$(this).text() > 1 && +$(this).text() < 249);
    });
    tds.css( {"opacity":"0.35" , "color":"#777"});
});

答案 1 :(得分:0)

你想要做的是使用jquery .parent()函数:

$(document).ready(function () {
    var tds = $("td").filter(function () {
        if ($(this).text() < 250 || $(this).text() > 25000) {
            return this;
        }
    });
    tds.parent().hide();
});

此代码将隐藏包含数字大于25000或小于250的元素的所有表行查看小提琴。http://jsfiddle.net/joey6978/mwN4L/