2017-05-19 11 views
1

divの文字列を取得しようとしていますが、この内容を削除してから、 ".skuBestPrice"で実際の価格を取得してください特別な文字を入力し、浮動小数点数で変換し、この数値をdiv ".totalPrice"に印刷するためのアカウントを作成しますが、正しく動作しない場合は何が問題なのですか?ありがとう!!! テキストをFloatに変換して新しいdivに印刷する方法

<div id="totalPrice">$ <span class="total">the final price should print here.</span></div> 

<div class="price-best-price" style="display: block;">Por: 
    <strong class="skuBestPrice">$ 25,11</strong> 
</div> 

理由にマークアップを使用すると、クラス名にgetElementByIdをを使用しているされて

+0

あなたがdocument.getElementsByClassName – karthick

+0

を使用する必要がでいくつかの変更万一 '25,11'は' 2511'または '25.11'への変換を行いますか? –

+0

2511に変換する必要があります –

答えて

1

ロットを使用します。間違った項目、間違った入力から機能を連鎖させる....ここでは縮小された固定版です。それが動作するはずです

\t var price = parseFloat($.trim($('.skuBestPrice').html().replace(",", "").replace("$", ""))); 
 
\t var total = (parseFloat(price)/100).toFixed(2); 
 
\t document.getElementById("totalPrice").innerHTML = '$'+total;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<br /><br /> 
 
<!-- * Here are the correct value converted --> 
 
<div id="totalPrice">$ <span class="total">the final price should print here.</span></div> 
 

 
<div class="price-best-price" style="display: block;">Por: 
 
\t <strong class="skuBestPrice">$ 25,11</strong> 
 
</div>

1

変更

/* Transform String in Number */ 
 
     $(document).ready(function() { 
 
      function formatPrice() { 
 
     \t //$('.totalPrice').empty(); 
 
     \t var price = parseFloat($.trim($('.skuBestPrice').html()).replace(",", "").replace("$", "").val()); 
 
     \t var total = (parseFloat(price)/100).toFixed(2); 
 
     \t //$(".totalPrice").val(total); 
 
     \t document..getElementsByClassName(".totalPrice").innerHTML = total; 
 
      } 
 
     \t //$(document).on("load", "strong", formatPrice); 
 
     });
<!-- begin snippet: js hide: false console: true babel: false -->
は、あなたは、IDを指定する必要があります。あなたはマークアップを変更できない場合は、document.getElementsByClassName(「totalPrice」)を使用[0]

document.getElementById("totalPrice").innerHTML = total; 

または

document.getElementsByClassName('totalPrice')[0].innerHtml = total; 
+0

これはまだ動作していません。 –

1

下図のようにあなたの文字列から数字を抽出するために正規表現を使用することができますし、それを解析して浮動させます。あなたは、タグの間の値を抽出したい場合にも、その後テキスト()の代わりに、のval()少しエラーの

/* Transform String in Number */ 
 
$(document).ready(function() { 
 
    function formatPrice() { 
 
\t //$('.totalPrice').empty(); 
 
    var p= $(".skuBestPrice").text().replace(/[^0-9\+]/g, '');  
 
    var price = parseFloat(p); 
 
    var total = (parseFloat(price)/100).toFixed(2); 
 
    //$(".totalPrice").val(total); 
 
     $(".total").text(total); 
 
    } 
 
\t //$(document).on("load", "strong", formatPrice); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<br /><br /> 
 
<!-- * Here are the correct value converted --> 
 
<div class="totalPrice">$ <span class="total">the final price should print here.</span></div> 
 

 
<div class="price-best-price" style="display: block;">Por: 
 
\t <strong class="skuBestPrice">$ 25,11</strong> 
 
</div>

+0

'$最終価格はここに印刷されるはずです '! –

1

。 HTMLとJavaScript

/* Transform String in Number */ 
 
$(function() { 
 
    //function formatPrice() { 
 
\t //$('.totalPrice').empty(); 
 
    var val = $('.skuBestPrice').html(); 
 
\t var price = val.replace("$", "").replace(",", "") 
 
    //console.log(price); 
 
    //parseFloat("554,20".replace(",", ".")); 
 
\t var total = (parseFloat(price)/100).toFixed(2); 
 
\t document.getElementById("totalPrice").innerHTML = total; 
 
    
 
});

 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<br /><br /> 
 
<!-- * Here are the correct value converted --> 
 
<span id="totalPrice">$</span> <span class="total">the final price should print here.</span> 
 

 
<div class="price-best-price" style="display: block;">Por: 
 
\t <strong class="skuBestPrice">$ 25,11</strong> 
 
</div>

関連する問題