我现在正在努力使用这段代码。 希望你能帮助我:) 我试图实现的目标:
这是我的HTML:
<div class="paragraph" data-template="1" data-id="1"></div>
<div class="icons"></div>
我想在带有“icons”类的元素之后插入,所以我尝试:
$(data).insertAfter('.paragraph').find('[data-id="'+appendAfter+'"]').next('.icons');
..其中$(data)是一个HTML字符串
失败了。 如果我删除next()函数,它会在图标之前插入,但这不是我想要的:
$(data).insertAfter('.paragraph').find('[data-id="'+appendAfter+'"]');
因此找到元素有效,但在此之后不跳过元素然后插入。
干杯, 罗伯特
答案 0 :(得分:1)
因为您正在寻找next
,所以跳过div.paragraph
正在关闭
<div class="paragraph" data-template="1" data-id="1"> ..something.. </div>
<div class="icons">
如果只是纠正你的代码
$(data).insertAfter($('.paragraph[data-id="'+appendAfter+'"]').next('.icons'));
或div.paragraph
是div.icons
的父级,意味着不像上面那样关闭
$(data).insertAfter($('.paragraph[data-id="'+appendAfter+'"]').find('.icons'));
答案 1 :(得分:0)
试试这个:
如果.paragraph
元素是.icons
的父元素,那么next()
将无效,因为它会查找兄弟元素。您需要使用find()
来获取子元素:
$('.paragraph[data-id="' + appendAfter + '"]').find('.icons').after(data);
答案 2 :(得分:0)
我认为你想要的是:
$(".paragraph").next().after(data)
您可能需要考虑哪些数据 - 是html还是元素?
答案 3 :(得分:0)
这是你的意思吗?
$('.paragraph').next('.icons').after(data);