2013-04-25 56 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();