我试图用jQuery将小数转换为英尺和英寸,但似乎无法找到答案。 (这是在Woocommerce购物车中)。
这是我的HTML:
<dd class="variation-Lengthyourequireft">
<p>1.5</p>
</dd>
<dd class="variation-Lengthyourequireft">
<p>2.5</p>
</dd>
我的代码:
$(document).ready(function(){
$("dd.variation-Lengthyourequireft > p").each(function(){
var thenum = parseFloat($(this).text()),
feetvalue = Math.floor(thenum), // returns just the feet value
inchvalue = Math.round(((thenum) % 1) * 12); // returns just the (inches)
$("dd.variation-Lengthyourequireft > p").text(feetvalue + "' " + inchvalue + "\"");
});
});
我的脚显示正确,但英寸返回0(零)。
示例:
1&#39; 0&#34 ;. (它应该是1&#39; 6&#34;。)我只是得到了NaN&#39;为NaN&#34;在我添加parseFloat()
。
我发现其中一个问题是具有相同HTML标记的多个实例(在本例中为<dd class="variation-Lengthyourequireft">
)
答案 0 :(得分:0)
您可以使用.text()
的函数参数,以便根据旧值更改每个所选元素的文本。该函数接收元素的原始文本作为第二个参数,其返回值替换它。
$(document).ready(function() {
$("dd.variation-Lengthyourequireft > p").text(function(i, oldText) {
var thenum = parseFloat(oldText),
feetvalue = Math.floor(thenum), // returns just the feet value
inchvalue = Math.round(((thenum) % 1) * 12); // returns just the (inches)
return feetvalue + "' " + inchvalue + "\"";
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<dd class="variation-Lengthyourequireft">
<p>1.5</p>
</dd>
<dd class="variation-Lengthyourequireft">
<p>2.5</p>
</dd>
&#13;