Javascript 如何在span regexp中包装价格?
我想把一件商品的价格限定在一个区间内。现在,RegExp包装的是数字,而不是$(美元符号)。我需要一个包含全部价格的正则表达式Javascript 如何在span regexp中包装价格?,javascript,jquery,regex,price,Javascript,Jquery,Regex,Price,我想把一件商品的价格限定在一个区间内。现在,RegExp包装的是数字,而不是$(美元符号)。我需要一个包含全部价格的正则表达式 HTML <fieldset> <label> <input>Thing $4.99</input> </label> </fieldset> JQUERY var rxp = new RegExp("([0-9]+\.?[0-9]+)", "gm"); $( "
HTML
<fieldset>
<label>
<input>Thing $4.99</input>
</label>
</fieldset>
JQUERY
var rxp = new RegExp("([0-9]+\.?[0-9]+)", "gm");
$( "fieldset label" ).each(function() {
var $this = $(this);
var content = $this.html();
console.log($(this).html());
$this.html(content.replace(rxp, "<span>$1</span>"));
});
HTML
东西4.99美元
JQUERY
var rxp=新的RegExp(“([0-9]+\?[0-9]+)”,“gm”);
$(“字段集标签”)。每个(函数(){
var$this=$(this);
var content=$this.html();
log($(this.html());
$this.html(content.replace(rxp,$1));
});
这不是正确的方法html()
方法将返回html标记,但更改它不会更改DOM。相反,您应该清空父级并在其中附加新的span。此外,您正在以错误的方式使用input
标记,它不能有子项,您应该将value设置为value
attr:
// HTML
<fieldset>
<label>
<input value="Thing $4.99" />
</label>
</fieldset>
// JavaScript
var priceRegExp = /^.*(\$[0-9](\.[0-9]{2})?).*$/;
$("fieldset label").each(function() {
var $this = $(this);
var inputVal = $this.children('input').prop('value');
var price = priceRegExp.exec(inputVal)[1];
$this.empty().append('span').text(price);
});
//HTML
//JavaScript
var pricelegexp=/^.*(\$[0-9](\.[0-9]{2}).$/;
$(“字段集标签”)。每个(函数(){
var$this=$(this);
var inputVal=$this.children('input').prop('value');
var price=priceRegExp.exec(inputVal)[1];
$this.empty().append('span').text(价格);
});
这不是正确的方法html()
方法将返回html标记,但更改它不会更改DOM。相反,您应该清空父级并在其中附加新的span。此外,您正在以错误的方式使用input
标记,它不能有子项,您应该将value设置为value
attr:
// HTML
<fieldset>
<label>
<input value="Thing $4.99" />
</label>
</fieldset>
// JavaScript
var priceRegExp = /^.*(\$[0-9](\.[0-9]{2})?).*$/;
$("fieldset label").each(function() {
var $this = $(this);
var inputVal = $this.children('input').prop('value');
var price = priceRegExp.exec(inputVal)[1];
$this.empty().append('span').text(price);
});
//HTML
//JavaScript
var pricelegexp=/^.*(\$[0-9](\.[0-9]{2}).$/;
$(“字段集标签”)。每个(函数(){
var$this=$(this);
var inputVal=$this.children('input').prop('value');
var price=priceRegExp.exec(inputVal)[1];
$this.empty().append('span').text(价格);
});
通过转义添加一个美元符号(\$[0-9]+\.?[0-9]+)
通过转义添加一个美元符号(\$[0-9]+\.?[0-9]+)
明白了,很遗憾,我无法控制shopify插件的HTML输出…这已经接近了。它清空了输入,这不是我想要的,而是将价格移动到另一个跨度之外。。。我想我可以从这里拿走它!thxgotcha,可悲的是,我无法控制shopify插件的HTML输出…这很接近。它清空了输入,这不是我想要的,而是将价格移动到另一个跨度之外。。。我想我可以从这里拿走它!谢谢