阻止Jquery影响子女的nth-child

时间:2015-08-20 09:52:37

标签: javascript jquery jquery-selectors

请参阅下面的代码。这是我面临的问题的简化版本:我想在第二段之后插入一些文本,但不是在blockquote中。目前我的jquery正在使我的新文本出现在内容的第2段和块引用的第2段之后。

我知道nth-child是如何工作的,但是却找不到限制其进展的方法。

感谢。

<div class="content">
    <p>Lorem ipsum dolor sit amet.</p>
    <p>Lorem ipsum dolor sit amet.</p>
    <p>Lorem ipsum dolor sit amet.</p>
    <blockquote>
        <p>Lorem ipsum dolor sit amet.</p>
        <p>Lorem ipsum dolor sit amet.</p>
    </blockquote>
</div>

<script>
$( "<p><strong>I AM NEW TEXT</strong></p>" ).insertAfter( ".content p:nth-child(2)" );
</script>

2 个答案:

答案 0 :(得分:2)

child selector一起使用以仅选择直接孩子

@Provider public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> { private final ObjectMapper defaultMapper; public ObjectMapperContextResolver() { defaultMapper = new ObjectMapper(); } @Override public ObjectMapper getContext(Class<?> type) { System.out.println("--- getContext ---"); return defaultMapper; } } 使用后代关系,因此它将匹配.content p:nth-child(2)元素内的所有第二个子元素(在所有级别)

.content
$("<p><strong>I AM NEW TEXT</strong></p>").insertAfter(".content  > p:nth-child(2)");

答案 1 :(得分:2)

将其替换为子选择器:

    include $fw_dir .'/bootstrap-helpers.php';

    /**
     * Load core
     */
    {
        require $fw_dir .'/core/Fw.php';
        fw();
    }