获取相同级别的html元素

时间:2018-06-20 20:08:36

标签: jquery html

在选中checkbox#tmcp_choice_3_0_8时,我需要将此元素<span>my custom text</span>附加到<span class="tc-label tm-label">1</span>元素内。

问题是我可以通过'tm-label'类来获取span元素的目标,因为还有其他具有相同类的元素。

我的想法是获取复选框的父html,然后定位“ span.tm-label”,但我无法获取父。我尝试过:

  aa = $("input#tmcp_choice_3_0_8");
alert( aa.parent());

但是我只收到以下文本的警报:“ [对象对象]

真实HTML

<label for="tmcp_choice_3_0_8">    
    <input class="tmcp-field tmhexcolor_3_0_8 tm-epo-field tmcp-checkbox tcenabled" name="tmcp_checkbox_3_0" data-limit="" data-exactlimit="" data-minimumlimit="" data-image="" data-imagec="" data-imagep="" data-imagel="" data-image-variations="[]" data-price="" data-rules="[&quot;0&quot;]" data-original-rules="[&quot;0&quot;]" data-rulestype="[&quot;&quot;]" value="1_0" id="tmcp_choice_3_0_8" tabindex="8" type="checkbox" disabled="disabled">

    <span for="tmcp_choice_3_0_8"></span>
    <span class="tc-label tm-label">1</span>

</label>

2 个答案:

答案 0 :(得分:1)

以下对我有用:

1,创建跨度

2,查找并追加到:.tc-label.tm-label

$(function(){
	var $span = $('<span/>').text('my custom text');
	$("input#tmcp_choice_3_0_8").parent().find('.tc-label.tm-label').append( $span );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="tmcp_choice_3_0_8">    
    <input class="tmcp-field tmhexcolor_3_0_8 tm-epo-field tmcp-checkbox tcenabled" name="tmcp_checkbox_3_0" data-limit="" data-exactlimit="" data-minimumlimit="" data-image="" data-imagec="" data-imagep="" data-imagel="" data-image-variations="[]" data-price="" data-rules="[&quot;0&quot;]" data-original-rules="[&quot;0&quot;]" data-rulestype="[&quot;&quot;]" value="1_0" id="tmcp_choice_3_0_8" tabindex="8" type="checkbox" disabled="disabled">

    <span for="tmcp_choice_3_0_8"></span>
    <span class="tc-label tm-label">1</span>

</label>

答案 1 :(得分:0)

如果选择了多个对象,则需要从该对象数组中选择一个。 选择第一个元素的示例: aa[0].parent()