我有一些我需要转换为货币的数字。我正在使用此脚本进行转换(https://github.com/CodersPress/jQuery-Currency),该转换适用于我的一个号码但不适用于另一个号码。我无法弄清楚如何定位li中的数字(在这种情况下我无法修改html输出)。我试图过滤文本以从li中的数字重新定位':',但仍然无法使货币转换对li中的数字起作用。
我有一个小提琴:https://jsfiddle.net/dcrr5qxf/5/
这是我的HTML:
<ul class="cfeature">
<li class="purchase_price"><label>Purchase Price</label>: 333333</li>
</ul>
<p class="purchase_price">
<label>Purchase Price: </label>
<strong><span>333333.00</span></strong>
</p>
这是我的js:
$('.purchase_price').each(function() {
$(this).html($(this).html().replace(":", ""));
});
$('.purchase_price').each(function() {
$(this).html($(this).html().replace("Purchase Price", "Purchase Price:"));
});
$(".purchase_price span").currency(); // this one works as the number is in a <span>
$(".purchase_price").currency(); // this one doesn't work
});
});
答案 0 :(得分:0)
您可以在<li>
上循环解决此问题,并对每个问题执行以下3个步骤:
<div>
,然后给它上课,比如forCurrency
.currency()
应用于此<div>
并获取相应的文字<div>
jQuery的:
$("ul.cfeature > li").each(function(){
// wrap the number in a div
$(this).html(function(_, html) {
return html.replace(/(\d+)\s*$/, "<div id='forCurrency'>$1</div>");
});
// apply .currency() and get the corresponding text
var currencyText = $("div#forCurrency").currency().text();
console.log(currencyText);
// replace the wrapped div with the text that we just got
$("div#forCurrency").replaceWith(currencyText);
});