我有一个问题是获取跨度的内容(本例中为Arrière),当其父(li)包含带有“已检查”类的跨度时
这是我的HTML
<fieldset class="attribute_fieldset">
<label class="attribute_label">Base du siège </label>
<div class="attribute_list">
<ul>
<li>
<div class="radio">
<span class="checked">
<input type="radio" class="attribute_radio" name="group_4" value="26" checked="checked">
</span>
</div>
<span>Arrière</span>
</li>
</ul>
</div> <!-- end attribute_list -->
</fieldset>
我尝试了这个jquery代码:
$('.attribute_fieldset').each(function( index ) {
var attribute_label = $(this).children('.attribute_label').html();
var attributeval = $(this).find('.checked').parent('.radio').next('span').html();
console.log(attributeval);
var that = this;
$('#product_attributes').append('<li>'+attribute_label.replace(' ','')+':');
});
我没有为attributeval
定义答案 0 :(得分:2)
这应该有效:
$('.attribute_fieldset').each(function() {
$('#product_attributes').append('<li>' + $(this).find('attribute_label').html().replace(' ', '') + ':' + $(this).find('li span.checked').parent().next('span').html() + '</li>');
});
答案 1 :(得分:0)
Instead you can try below code:
$(".attribute_fieldset span").each(function(index, spanElement) {
if($(spanElement).parent().find("span.checked").length
&& !$(spanElement).hasClass("checked")) {
console.log(spanElement); // this is the span element you want
console.log(spanElement.text()); // this is the value "Arrière"
}
});