0

Javascript の getAttribute を使用して商品価格を取得しようとしています。私は非常に初心者なので、getAttribute を使用して、<h2>クラスをアイテムの価格に変更しました。それは最初のアイテムの価格を取得するだけですが、すべての価格を取得して並べ替えなどの配列として保存するにはどうすればよいですか?

ここに私のHTMLの一部があります:

<div class="col-sm-4">
  <div class="product-image-wrapper">
    <div class="single-products">
      <div class="productinfo text-center">
        <img src="images\site_images\bag3.jpg" alt="" height="249" />
        <h2 class="881.10">$881.10</h2>
        <h5>Authentic New Gucci ($1690) Micro-GG "Vernice" Crossbody w/Strap #309617, NWT</h5>
        <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to Cart</a>
      </div>
      <div class="col-sm-4">
        <div class="product-image-wrapper">
          <div class="single-products">
            <div class="productinfo text-center">
              <img src="images\site_images\bag4.jpg" alt="" height="249" />
              <h2 class="569.05">$569.05</h2>
              <h5>AUTHENTIC NWT ($819) Gucci GG Large Brown Denim Tassell Tote #336660, w/Gft Rcpt</h5>
              <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to Cart</a>
            </div>

            <div class="col-sm-4">
              <div class="product-image-wrapper">
                <div class="single-products">
                  <div class="productinfo text-center">
                    <img src="images\site_images\bag5.jpg" alt="" height="249" />
                    <h2 class="559.00">$559.00</h2>
                    <h5>Authentic Gucci GG Micro-Guccissima Leather Tote #309613 w/Gft Rcpt,NWT</h5>
                    <a href="#" class="btn btn-default add-to-cart"><i class="fa fa-shopping-cart"></i>Add to Cart</a>
                  </div>

<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

そして、これが私が商品価格を取得するために使用している私のJavascriptコードです:

function myFunction() {
  var x = document.getElementsByTagName("H2")[0].getAttribute("class");
  document.getElementById("demo").innerHTML = x;
}

ご覧のとおり、私は非常に初心者なので、できれば回答がそれほど複雑にならないようにしてください。:) ありがとう!

4

2 に答える 2

0

価格を配列に保存し、 を使用.sort()して配列を並べ替えます。.sort()関数はデフォルトでアルファベット順にソートされるため、整数用の独自のコンパレータ関数を作成する必要があることに注意してください。たとえば、昇順で並べ替えるには、次のようにします。

function sortNumber(a,b) {
    return a - b;
}

すべての価格を配列に保存したら、配列を反復処理し、単項 plusを使用して数値に変換します。

var items = document.getElementsByTagName("H2");
var prices = [];

for(var i = 0; i < items.length; i++){
    prices.push( +items[i].getAttribute("class"));
}

または、 を使用することもできます.parseInt()

ここで例を参照してください: http://codepen.io/anon/pen/VeKyMe

于 2015-12-25T19:44:00.500 に答える