在函数中写入最难的时间来隐藏等于或小于零的数字。这是我想写的函数:
function isItANumber() {
var increased = parseInt($("#increasedRevenueValue"));
if(isNaN(increased)) {
$("#increasedRevenueValue").hide();
}
}
有什么想法?我应该使用OR
吗?
编辑:这是我的代码http://jsfiddle.net/YVcj7/
的小提琴答案 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)