获得单选按钮元素的跨度子节点

时间:2015-03-06 14:02:00

标签: javascript jquery html

我有一排用于运费的单选按钮。如果用户点击按钮,我需要收集单选按钮元素使用的div中包含的两个跨度(价格和成本)。所有单选按钮共享同一个名为'all-items'的类。这是html:

<li class="all-items">
<input name="shipping_method" type="radio" value="usps_1" id="s_method_usps_1" checked="checked" class="radio">
<label for="s_method_usps_1" style="display:block; overflow:hidden;">
<span class="price">$30.20</span>
<span class="cost">Priority Mail </span>
</label>
</li>

这是我正在使用的jQuery。

         jQuery("input:radio[name=shipping_method]").click(function() {
         var shipping = jQuery(this).val();
         console.log(shipping);
         console.log(jQuery(this).find('span'));
         });

1 个答案:

答案 0 :(得分:2)

SPAN不是无线电元素的子代。我建议你获得相关的LI父母,然后定位相关的SPAN,例如:

jQuery(this).closest('.all-items').find('.price, .cost') // add specific SPAN classes if needed

我个人比jQuery(this).closest('.all-items').find('span')更喜欢它,因为这明确说明了您正在寻找的特定SPAN。