我有:
<div class="main">
<a class="blah">blah1</a>
</div>
<div class="main">
<a class="blah">blah2</a>
</div>
<div class="main reply">
<a class="blah">blah3</a>
</div>
<div class="main reply">
<a class="blah">blah4</a>
</div>
<div class="main reply">
<a class="blah">blah5</a>
</div>
<div class="main">
<a class="blah">blah6</a>
</div>
<div class="main reply">
<a class="blah">blah7</a>
</div>
点击a.blah
后,我需要在父级 <div class="new">xxx</div>
之后的.reply
附加.main
之类的内容,这意味着它应该找到最新的.reply
agter a.blah
的父级,它不应该交叉到另一个.main
,这是我编码的(但不能正常工作):
$('.blah').on('click', function(){
var new_add = '<div class="new">xxx</div>';
$(this).parents('div.main').next('.main:last').append(new_add);
});
我该如何解决这个问题? 感谢
答案 0 :(得分:2)
基于评论
$('.blah').on('click', function(){
var new_add = '<div class="new">xxx</div>';
$(this).closest('.main').nextUntil('.main:not(.reply)').addBack().last().after(new_add);
});
演示:Fiddle
.reply
之后的所有.main
元素,但没有.main
没有.reply
.main
不是.reply
答案 1 :(得分:0)
$('.blah').on('click', function(){
var new_add = '<div class="new">xxx</div>';
$(this).parents('div.main').siblings('.main:last').append(new_add);
});