2013-04-25 27 views
-2

我有这个代码隐藏了值为1.6的所有行。如何隐藏值小于1.6的类

$('.ind').filter(function() { 
return $(this).text().indexOf("1.6") !== -1; 
}).parent().hide(); 

我感兴趣的代码隐藏值小于1.6。

请参阅此link

+0

请提供一个元素内容的例子。看起来像'return $(this).text()<1.6;'应该可以正常工作。 – 2013-04-25 14:32:52

回答

2

您需要解析的值进行比较数字:

$('.ind').filter(function() { 
    return parseFloat($(this).text()) < 1.6; 
}).parent().hide(); 

在问题的代码查找字符串中的值1.6,这使我觉得可能会有其他文字,而不是单元格中的数字。如果是这样,你需要分析之前移除:

$('.ind').filter(function() { 
    return parseFloat($(this).text().replace(/[^\d\.]+/g, '')) < 1.6; 
}).parent().hide(); 

要检查范围,把分析的价值在一个变量,然后把它比作下限和上限,并返回结果:

$('.ind').filter(function() { 
    var value = parseFloat($(this).text()); 
    return value >= 1.6 && value < 1.7; 
}).parent().hide(); 
+0

非常感谢代码。你如何过滤一个范围。说在1.6和1.7之间? – 2013-04-26 08:01:35

+1

@SitheloNgwenya:然后你将这个值与下限和上限进行比较。我在上面添加了一个例子。 – Guffa 2013-04-26 08:05:41

+0

谢谢Guffa。你有帮助。看看这个链接http://jsfiddle.net/sithelo/LWBYY/4/。令人惊讶的是它不隐藏1.5。 – 2013-04-26 08:40:40

4
$('.ind').filter(function() { 
var Value = parseFloat($(this).text()); 
return (value < 1.6); 
}).parent().hide(); 
+1

用于编辑基数为10的+1甚至现在看起来像所有现代浏览器默认情况下都使用基数为10 – 2013-04-25 14:35:30

+3

解析例如字符串“1.7”作为整数给出值“1”,这会导致它被隐藏,尽管它不是少于1.6。 – Guffa 2013-04-25 14:35:49

+0

@roasted:解析以零开头的字符串会导致'parseInt'使用基数8。 – Guffa 2013-04-25 14:36:31

0
$('.ind').filter(function() { 
    var floatValue = parseFloat($(this).text()); 
    return (floatValue < 1.6); 
}).parent().hide();