使用javascript使数字右对齐,其他数字左对齐

使用javascript使数字右对齐,其他数字左对齐,javascript,css,ruby-on-rails-3,Javascript,Css,Ruby On Rails 3,我使用了这个javascript函数: $(document).ready(function(){ $("td").each(function() { if (parseInt($(this).text()) > 0) { $(this).css("text-align", "right"); } }); }); 通过这个,所有的数字都是右对齐的。但我希望输入的字符串应该左对齐。我认为使用NaN是可能的,但我不知道如何

我使用了这个javascript函数:

$(document).ready(function(){
    $("td").each(function() {
       if (parseInt($(this).text()) > 0) {
            $(this).css("text-align", "right");
        }
    });
});

通过这个,所有的数字都是右对齐的。但我希望输入的字符串应该左对齐。我认为使用NaN是可能的,但我不知道如何使用它。有人能告诉我如何使用NaN或其他功能吗?

您可以这样做:

$(document).ready(function(){
    $("td").each(function() {
       var item = $(this);
       if (item.text().match(/^-?\d+$/)) {
            item.css("text-align", "right");
        } else {
            item.css("text-align", "left");
        }
    });
});

工作示例:

为什么不能使用
typeof
运算符来确定数字和字符串之间的关系

$( document ).ready( function() {
    $( "td" ).each( function() {
       var textVal = $( this ).text();
       var type = !isNaN(parseFloat(textVal)) && isFinite(textVal);

       if ( !type ) {
            $( this ).css( "text-align", "left" );
       } else if ( type ) {
            $( this ).css( "text-align", "right" );
       }
    });
});

希望有帮助。

它不起作用,现在所有的数值也都向左对齐。你能给我提点别的建议吗?@SnehaKachroo-看看我在答案中添加的工作示例。它在那里起作用,所以在实际的实现中,您一定在做一些其他的事情来改变结果。。看这个。。td宽度不足以正确显示它。。看到这里,您可能需要一个“isNumber”测试(函数?)来允许负数、小数和整数。@Rob-在小数出现之前,OP使用的是
parseInt()
。如果允许负数,则可以在正则表达式中添加前导和可选的
-
。因此0和负数应该左对齐?@SnehaKachroo-Oops!现在修改它以检测数值。现在试一试。现在数字值是右对齐的,但其他值也在右对齐。有人能提供其他选择吗???@SnehaKachroo-我看到它在工作。这里的例子-。您面临的问题是什么?问题是,即使我给出了一些字符串类型值,它们也会正确对齐。