2012-02-01 66 views
2

我现在正在为这段代码苦苦挣扎。 希望你能帮助我:) 我尽量做到什么:找到一个元素,然后在下一个插入内容后

  1. 找到的元素。
  2. 在(1)中发现的元素之后的元素之后插入html。

这里是我的HTML:

<div class="paragraph" data-template="1" data-id="1"></div> 
<div class="icons"></div> 

我想用 “图标” 类的元素之后插入,所以我尝试:

$(data).insertAfter('.paragraph').find('[data-id="'+appendAfter+'"]').next('.icons'); 

..其中$(数据)一个HTML字符串

失败。 如果我删除next()函数,它的图标之前插入,但是这不是我想要的东西:

$(data).insertAfter('.paragraph').find('[data-id="'+appendAfter+'"]'); 

因此,找到该元素的作品,但之后没有跳过元素,然后插入。

干杯, 罗伯特

+0

“失败”是什么意思?你有Javascript错误吗?什么都没有发生?你把内容插入错误的地方了吗? – 2012-02-01 10:34:57

回答

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.paragraphdiv.icons父,手段不像上面那样关闭做

$(data).insertAfter($('.paragraph[data-id="'+appendAfter+'"]').find('.icons')); 
+0

太好了,谢谢! 我使用正确的HTML编辑了我的原始文章。 这是我在这里的第一篇文章,所以我仍然在搞清楚如何编辑。 – rjjonker 2012-02-01 10:51:37

+0

不用客气,欢迎来到SOF :) – 2012-02-01 11:39:02

0

试试这个:

如果.paragraph元素是.icons父然后next()将无法​​正常工作,看起来对兄弟元素。您需要使用find()让子元素:

$('.paragraph[data-id="' + appendAfter + '"]').find('.icons').after(data); 
0

我想你想要的是:

$(".paragraph").next().after(data) 

您可能需要考虑哪些数据是 - 是HTML,或一个元素?

0

这是你的意思吗?

$('.paragraph').next('.icons').after(data); 
相关问题