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英镑起
因此,只需用classprice
将数字包装在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”,仅仅提供一个正则表达式并不能真正回答问题,除非说明如何实现它