Javascript jQuery:在一个span中将数字包装在div中

Javascript jQuery:在一个span中将数字包装在div中,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图弄清楚这是否可能,我有一个如下标记的设置: <div class="price-wrap">£12.95</div> <div class="price-wrap">from £9.95</div> <div class="price-wrap">£6.95</div> <div class="price-wrap">£16.95</div> <div class="price-wrap"

我试图弄清楚这是否可能,我有一个如下标记的设置:

<div class="price-wrap">£12.95</div>
<div class="price-wrap">from £9.95</div>
<div class="price-wrap">£6.95</div>
<div class="price-wrap">£16.95</div>
<div class="price-wrap">£11.95</div>
<div class="price-wrap">from £1.95</div>
12.95英镑
从9.95英镑起
£6.95
£16.95
£11.95
从1.95英镑起
但如果可能的话,我理想的目标是:

<div class="price-wrap">£<span class="price">12.95</span></div>
<div class="price-wrap">from £<span class="price">9.95</span></div>
<div class="price-wrap">£<span class="price">6.95</span></div>
<div class="price-wrap">£<span class="price">16.95</span></div>
<div class="price-wrap">£<span class="price">11.95</span></div>
<div class="price-wrap">from £<span class="price">1.95</span></div>
12.95英镑
从9.95英镑起
£6.95
£16.95
£11.95
从1.95英镑起
因此,只需用class
price
将数字包装在
span
标记中,不包括任何
中的

如有任何建议,将不胜感激

这应该可以:

$('.price-wrap').each(function() {
    var $this = $(this);
    $this.html($this.html().replace(/([0-9.]+)/g, '<span>$1</span>'));
});
$('.price wrap')。每个(函数(){
var$this=$(this);
$this.html($this.html().replace(/([0-9.]+)/g,$1');
});

也许您可以使用regex并用
float


正则表达式来匹配浮点值([-+]?[0-9]*\.?[0-9]+)

您可以使用.html()中的回调来迭代每个div的内容:

$('div.price-wrap').html(函数(){
var val=$(this.text().split(“£”);
返回val[0]+'.''+val[1]+''
})
.price{
颜色:绿色;
}

£12.95
从9.95英镑起
£6.95
£16.95
£11.95

从1.95英镑开始,您尝试过什么吗?简单的正则表达式将数字部分从其余部分拆分,然后插入到div中,并封装到span中。look into:before伪元素。有两个,一个表示“from L”,另一个表示“L”,仅仅提供一个正则表达式并不能真正回答问题,除非说明如何实现它