0

display:block にある同じ ul の li のリストから製品の値を取得しようとしています (他は隠されています)。ただし、クリックして別の製品サイズを選択すると、価格が変更され、li display:block が none に変更され、クリックされたサイズに関連する価格が display:block now になります。display:block である li から値を取得したいのですが、 undefined と言っています。誰でもこれを手伝ってもらえますか私のコードは

 $(document).on("click", ".sizes li", function() {
 if ($('.sizes-list li').is(':visible'))
 {
 var price=$(this).find('dd').html();
 alert(price);
 }
 }); 

size-list ul の li のマークアップ

<ul class="sizes-list">
<li style="display:block"><dd>$7</dd></li>
<li><dd>$8</dd></li>
<li><dd>$9</dd></li>
</ul>

サイズ ul の li のマークアップ (サイズ ボタン上)

<ul class="sizes">
<li><a href="#">Small</dd></a>
<li><a href="#">Medium</dd></a>
<li><a href="#">Large</dd></a>
</ul>
4

1 に答える 1

0

jsfiddleでこれを検討してください:http://jsfiddle.net/bjryT/4/

ここに更新されたスクリプトがあります:

jQuery("ul.sizes-list li").each(function () {

  if (jQuery(this).css("display") == "block")
  {
    jQuery(this).on("click", function () 
    {
        var price = jQuery(this).find("dd:first").text();
      alert(price);
    });
  }
});
于 2013-01-15T20:09:45.243 に答える