我想移动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}}?
答案 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>
元素