我想使用jQuery .append将div插入到另一个父div中,该div是list元素的一部分,由一个动态创建的表单字段组成。虽然父类只包含一个对象(即文本字段),并且在整个文档中只存在一次,但是.append将div添加六次。它在JSfiddle中工作,但不在我的本地代码(Magento表单)上。这是为什么?它可能与父类的动态创建有关吗?
PHP
$input_name = $this->getInputName();
$input_id = $this->getInputId();
$input_value = $this->getValue();
$input_class = $this->getInputClass();
$label = $this->getLabel();
<div class="input-box <?php echo $input_id;?>">
<input type="text" name="<?php echo $input_name;?>" id="<?php echo $input_id;?>" value="<?php echo $this->htmlEscape($input_value) ?>" title="<?php echo $this->__($label); ?>" class="<?php echo $input_class;?>" />
</div>
使用jQuery
$(".input-box.billing_postcode") .append("<div>My Link</div>")
总是会导致以下HTML
<li>
<div class="input-box billing_postcode">
<input id="billing_postcode" class=" input-text required-entry absolute-advice " type="text" title="ZIP" value="" name="billing[postcode]">
<div>My Link</div>
<div>My Link</div>
<div>My Link</div>
<div>My Link</div>
<div>My Link</div>
<div>My Link</div>
</div>
答案 0 :(得分:1)
这应该解决:
var $element = $(".input-box.billing_postcode");
if($('.foo', $element).length == 0) {
$element.append('<div class="foo">My Link</div>');
}