このコード スニペットは、Opera 12 で非常に奇妙に動作します
。親要素は単なるulであり、これが Firefox と Chrome が返すものです。
Opera $(this).parent()はWindowオブジェクトを返します。
何か案は?jQuery のバージョンは 1.7.2 です
JS
$('.addTrait').live('click', function(e) {
e.preventDefault();
trait = $('li.trait.template').clone().removeClass('template');
parent = $(this).parent();
$(parent).after(trait);
trait.show();
});
HTML
<ul class="sortable traits">
<li class="trait">
<div class="well slim">
<input class="trait name" type="text" name="trait[%s][name]" value=""/>
<input class="trait id" type="hidden" name="trait[%s][id]" value=""/>
<input class="trait parent" type="hidden" name="trait[%s][parent]" />
<a href="" class="addTrait icon-plus"></a>
<a href="" class="removeTrait icon-remove"></a>
</div>
<ul>
</ul>
</li>
</ul>
<li class="trait template" style="display: none;">
<div class="well slim">
<input class="trait name" type="text" name="trait[%s][name]" value=""/>
<input class="trait id" type="hidden" name="trait[%s][id]" value=""/>
<input class="trait parent" type="hidden" name="trait[%s][parent]" />
<a href="" class="addTrait icon-plus"></a>
<a href="" class="removeTrait icon-remove"></a>
</div>
<ul>
</ul>
</li>