如果number小于零而负数隐藏它jquery

时间:2012-03-15 15:27:58

标签: javascript jquery

在函数中写入最难的时间来隐藏等于或小于零的数字。这是我想写的函数:

function isItANumber() {
var increased = parseInt($("#increasedRevenueValue"));

if(isNaN(increased)) {
    $("#increasedRevenueValue").hide();
}

}

有什么想法?我应该使用OR吗?

编辑:这是我的代码http://jsfiddle.net/YVcj7/

的小提琴

7 个答案:

答案 0 :(得分:6)

尝试以下方法,我猜测你使用的元素。

function isItANumber() {
    var increased = parseInt($("#increasedRevenueValue").text());

    if(isNaN(increased) || increased <= 0) {
        $("#increasedRevenueValue").hide();
    }
}
isItANumber();
​

<强> Live Demo

纯粹的js ..因为我们真的需要 jQuery吗?

function isItANumber(el) {
    var increased = parseInt(el.innerText);

    if(isNaN(increased) || increased <= 0) {
        el.style.display = 'none';
    }
}
var element = document.getElementById("increasedRevenueValue");
isItANumber(element);

<强> pure js demo

答案 1 :(得分:0)

我想你想要

if(isNaN(increased) || increased <= 0){
    $("#increasedRevenueValue").hide();

}

答案 2 :(得分:0)

我认为你不能解析一个jQuery对象。我会尝试parseInt($("#increasedRevenueValue").text());parseInt($("#increasedRevenueValue").val());,具体取决于#increasedRevenueValue

答案 3 :(得分:0)

看起来你的函数正在做一些双重任务(获取字段的值,检查它是否是数字等)。

首先,我建议检查该值是否为数字。 This question有一个非常好的isNumeric function,你可以利用它。

在这种情况下,您只需要执行以下操作:

function isItANumber(value) {
    var value = $("#increasedRevenueValue").val() || $("#increasedRevenueValue").text() //get the value if this is an input field, or fallback on the text otherwise.
    var isNumber = isNumeric(value);
    var isNegative = value < 0;

    if (isNumber && isNegative) {
        $("#increasedRevenueValue").hide();
    }
}

答案 4 :(得分:0)

正如人们所提到的,如果元素是输入字段,那么'增加'应该是:

var increased = parseInt($("#increasedRevenueValue").val(), 10);

如果它是div / span / paragraph或者它们应该是那些行。

var increased = parseInt($("#increasedRevenueValue").text(), 10);

然后简单地做一个if循环。

if(increased =< 0) {
    $("#increasedRevenueValue").hide();
}

根据您对此函数的使用方式,您可能需要考虑$(“#increaseRevenueValue”)。val()是否为空值,paresint将使其为0。

答案 5 :(得分:0)

我将假设$("#increasedRevenueValue")是一个输入元素,

function isItANumber() {
   //change it to $("#increasedRevenueValue").text() if it is div/span
   var increased = parseInt($("#increasedRevenueValue").val(), 10);

   if(isNaN(increased) || increased <= 0) {
       $("#increasedRevenueValue").hide();
   }

}

答案 6 :(得分:0)