使用jQuery在第n段之后移动元素

时间:2015-12-18 22:13:39

标签: javascript jquery

我想移动div #inject从原来的位置移到第7段#mw-content-text之后。

到目前为止,我已经$('#inject').insertAfter('#mw-content-text > p:nth-child(7)');#inject div移到#mw-content-text内的第7个元素之后,只有当第7个元素为<p>时才会移动<p>不同的东西它什么都不做。

例如,如果文章具有以下结构,则它起作用(因为第7个元素是<div id="mw-content-text"> <table></table> <h2></h2> <p></p> <p></p> <p></p> <h2></h2> <p></p> /* div #inject is injected here */ <p></p> <h2></h2> ...

<h2>

如果文章看起来像这样(第7个元素是<div id="mw-content-text"> <table></table> <h2></h2> <p></p> <p></p> <h2></h2> <p></p> <h2></h2> <p></p> <p></p> <h2></h2> <p></p> ... )那么它什么都不做

<p>

有人能看出我做错了什么吗?什么是引用#mv-content-text内的第7个<p>元素而不是第7个元素的正确方法,只有当它是{{1}}?

1 个答案:

答案 0 :(得分:2)

使用p:nth-of-type(7)代替p:nth-child(7)

<强>详细信息:

  • p:nth-child(7)表示如果它是<p>元素,并且如果它是其父的7 th 子元素,则给我元素
  • p:nth-of-type(7)表示给我7 th <p>元素