0

我正在尝试从显示中的相同 ul 的 li 列表中获取产品的价值:块(其他被隐藏)。但是,当我单击以选择不同的产品尺寸时,价格会发生变化,并且 li display:block 更改为 none,而 li 的价格与单击尺寸相关的价格正在 display:block now 。我想从 li 获取值,它是 display:block 但它说 undefined 。谁能帮我解决这个问题我的代码是

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

尺寸列表 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 回答