2011-11-18 55 views
1

有没有办法使用jQuery删除时间段和所有内容?这段时间后的数字长短不一,所以它不像找到长度那么简单。删除使用jQuery后的时间段和所有内容

例如:

<span class="changethis">505.234</span> <span class="changethis">23.93</span> 

感谢您的帮助!

P.S. (奖金)如果有一种方法可以收集,如果它的x.5或更高,那就太棒了。虽然不是必需的。

回答

4

试试这个。

$('.changethis').each(function() { 
    $(this).html(Math.round(parseFloat($(this).html()))); 
}); 

http://jsfiddle.net/d4fv8/1/

+0

感谢您的快速响应!它完美的作品。 – veryserious

1

这应该做的伎俩(包括四舍五入):

$(function() { 
    var element = $('.changethis'); 
    var number = parseFloat(element.html()); 
    element.html(number.toFixed(0)); 
}); 
+0

问题是要删除期间和它后面的所有内容...... – Jasper

+0

啊,我误读!现在更新。谢谢。 –

-1

的JavaScript处理截断和舍入被内置在语言,没有jQuery的需要:

x = Math.round(505.234)

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/round

+0

当选择DOM元素并获取/设置文本时,jQuery会派上用场。也许你可以更新你的解决方案来做到这一点。 – Jasper

+0

我想我可以,但是有人已经这么做了 - 我正在阅读这个问题,好像作者认为有一个执行Math.round()的jQuery函数,并且只是指出“删除期间以及使用jQuery之后的所有内容“都是错误的追求,尽管反思中我看到我也应该包含jQuery部分。 –

0

假设跨度的内容将永远只能是数字,那么这将你需要的东西:

$("SPAN.changethis").each(function(index, elem) { 
    $(elem).text(Math.round($(elem).text())) 
}); 

中的第一选择得到所有的跨度,那么每个跨度重复的进行替换它的内容其内容的Math.round()的结果。