我有一排用于运费的单选按钮。如果用户点击按钮,我需要收集单选按钮元素使用的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'));
});
答案 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。