1

假设我有一些这样的html:

<div class="outer">
    <div>
        // another div
    </div>
    <p>First paragraph in outer div</p>
    <div>
        // another div
    </div>
    <a href="#">some anchor</a>
    <p>Second paragraph in outer div</p>
    <div>
        <p>Third paragraph in outer div</p> 
    </div>
    <div class="inner">
        <p>First paragraph in inner div</p>
        <p>Second paragraph in inner div</p>
    </div>
</div>

如何获得外部 DIV 中而不是内部 DIV 中的段落?

谢谢

4

2 回答 2

2

$('.outer').children('p')或者$('.outer > p')

请参阅子选择器(“父>子”).children()


如果您有一些不是外部 div 的直接子级的段落,您可以使用

$('.outer p').not('.inner p')

.not()

于 2013-03-21T03:26:27.423 回答
1

您可以使用直接子级选择器:

.outer > p {
    ...
}

顾名思义,它获取所有p类属性为的所有元素的直接子元素的所有元素outer

使用jQuery会是$('.outer > p').

更新:

我看到你在评论中提出的问题的唯一方法是:

.outer > p, .outer div:not(.inner) p {
    ...
}

这样做是选择与上面相同的元素,以及那些<p>在非. 我认为这不是实现您想要的最佳方式,但至少是一个解决方案,希望对您有所帮助。<div>.outer.inner

于 2013-03-21T03:26:35.410 回答