strip非数字值不起作用

时间:2012-03-22 19:19:30

标签: javascript jquery css

我希望从div

中删除所有非数字字符

例如:

<div class="publication_date> c2011. </div>

应该出现

<div class="publication_date> 2011 </div>

我试过

$(".publication_date").html($(".publication_date").html().replace(/[^0-9]+/g, ''));

它将所有日期设为2000

1 个答案:

答案 0 :(得分:4)

您需要使用.each()

$('.publication_date').each(function() {
  $(this).html($(this).html().replace(/\D+/g, ''));
});

.html()函数,如果没有参数传递,则返回初始选择器匹配的第一个元素的值。如果你的第一个元素是“c2009。”,那么你所有的其他元素都将是“2009”而不是“2000”。

使用.each(),您可以单独处理每个“publication_date”元素。

我也修改了正则表达式; \D表示“不是数字”。