按id拆分div内容以检查字符串的长度

时间:2013-11-14 22:30:26

标签: javascript jquery ajax

所以这就是我的问题:我有一个我通过AJAX提取的价格,但是如果它以0结尾,那么我所提出的价格并没有将最后的零添加到价格中。例如,0.40美分的东西会以0.44的形式返回。所以现在我试图找到一种方法来定位存储价格的div,在期间拆分价格,如果美分列的长度小于2,则在价格上加零。那是我需要的代码。这是我的代码。

var split4 =  $('#price selling4').text();
var arr4 = split4.split('.');
if (arr4[2] < 2) {
    $("#price selling4").append("0")
}

我以前说过,我会再说一遍:我不是最聪明的程序员。但是从我的谷歌搜索,这似乎是我正在寻找的。但是,每当插入控制台时它什么都不做。附加本身甚至不起作用。而变量则以未定义的形式返回。我不确定自己还可以做些什么。

5 个答案:

答案 0 :(得分:1)

尝试:

$("#price selling4").text( ($("#price selling4").text()*1).toFixed(2) );

使用定点表示法对数字进行格式化 - 只需使用toFixed方法:

你的身份price selling4看起来很时髦 - 空间?

虽然最好在返回的ajax数据添加到$("#price selling4")元素之前执行此操作。

答案 1 :(得分:1)

您想获取该号码,并使其使用toFixed(2)

$('#price selling4').text(+($('#price selling4').text()).toFixed(2));

应该就是您所需要的一切。

答案 2 :(得分:0)

实际问题是你的逻辑,应该是 arr4 [1] ,你应该检查小于10 的值。

var split4 =  $('#price').text();
var arr4 = split4.split('.');
console.log(arr4)
if (arr4.length == 2 && arr4[1] < 10) {
    $("#price").append("0")
}

http://jsfiddle.net/YGudN/

答案 3 :(得分:0)

根据HTML 4.01规范,您的div ID不合法。你得到了未定义的错误,因为var split4没有被赋予任何东西。

尝试将div重命名为一个单词,应该足够了。

答案 4 :(得分:0)

我建议:

$("#price selling4").text(function(i,t){
    return parseFloat(t).toFixed(2);
})

顺便提一下,请注意,您的id(无效)中似乎有一个空白区域,您正在寻找一个元素<selling4>(它不会不存在)。如果selling4是类名,请使用句点作为前缀(与CSS一样),以提供.selling4

参考文献: