我正在尝试在我的页面中向<dd>
标记添加注释,但由于某种原因,它会发生两次。这是我要添加的<dd>
标记:
<dd>
<input type="hidden" value="Choose a Country" class="FormFieldChoosePrefix">
<input type="hidden" value="11" class="FormFieldId">
<input type="hidden" value="2" class="FormFieldFormId">
<input type="hidden" value="singleselect" class="FormFieldType">
<input type="hidden" value="Country" class="FormFieldPrivateId">
<select size="1" name="FormField[2][11]" id="FormField_11" style="" class="Field200 FormField">
<option value="">Choose a Country</option>blah blah</select>
-- want code to be added here --
</dd>
我尝试过使用以下内容:
$('dd:contains("Choose a Country").append('whatever');
$('#FormField_11').parent().append('whatever');
$('#FormField_11').parent().first().append('whatever');
甚至
if ($('#FormField_11').parent().html().indexOf('whatever') == -1){
$('#FormField_11').parent().append('whatever');
}
一切都无济于事 - 每一次,'无论'出现两次。然而,最奇怪的部分是,我在页面后面的另一个<dd>
标签上执行相同的操作,并且它完美地运行:
<dd>
<input type="hidden" value="Choose a Country" class="FormFieldChoosePrefix">
<input type="hidden" value="21" class="FormFieldId">
<input type="hidden" value="3" class="FormFieldFormId">
<input type="hidden" value="singleselect" class="FormFieldType">
<input type="hidden" value="Country" class="FormFieldPrivateId">
<select size="1" name="FormField[3][21]" id="FormField_21" style="" class="Field200 FormField">
<option value="">Choose a Country</option>
blah blah
</select>
</dd>
和我的javascript,有效:
$('#FormField_21').parent().append('whatever');
由于
答案 0 :(得分:2)
这是因为.append()
正在$('#FormField_11')
而不是.parent()
进行评估。
这就是jQuery的工作原理。
要做你想做的事,你可以这样做:
var x = $('#FormField_11').parent();
x.append('whatever');
答案 1 :(得分:0)
我建议您为dd元素提供一个ID,然后按原样附加:
<dd id="dd1">
.....
$("#dd1").append("content");
您可以在最后一个元素之后添加文本(假设它始终具有相同的ID):
$('#FormField_21').after('<a href="/pages/Contact-Us.html">Please email or contact us for international orders. Thank you</a>');