1

直接の子を含む要素の最初の直接の子<p>要素を選択しようとしています。<li><ul>

li>ul:parent>p:first-child

li私が試したのは、それがすぐに 's を取得し、セレクターで元の 'sulに戻り、最初にある immediateの子を選択すると考えて、私が試したことです。li:parentp

例えば

<ul>
    <li>
        <p>SELECT ME!</p>
        <ul>
            <li><!--some more stuff-->
        </ul>
    </li>
</ul>

コメントに続いて、これをjQueryセレクターで使用していて:parent、jQuery APIページでセレクターを見つけたと言わなければなりません。

4

3 に答える 3

1

あなたが抱えている問題は、要素li > ul:parentを選択することですが、あなたの要素はの直接の子孫ではなく内にあるため<ul>、指定> p:first-childは何にも一致しません。pli<ul>

これには jQuery の:has()セレクターを使用できます。

$('li:has(ul) > p:first-child').css('background-color', 'red');

これはjsFiddle デモです。

残念ながら、これは純粋な CSS では不可能だと思います。

于 2013-03-12T09:41:58.443 に答える
1

する

li > ul ~ p:first-of-type

欲しいものを選ぶ?これpにより、 の最初の子でありp、の直接の子である要素の兄弟である要素が選択されます。子孫セレクターと兄弟セレクターに関するこの投稿を参照してください。ulli

編集:よく見ると、ソースの の後にある必要があるため、これはあなたのセットアップではうまく機能しないことがわかります。おそらく、ソースの順序を少し変更できますか?pul

于 2013-03-12T09:33:28.377 に答える
0

トップレベルにIDを配置することをお勧めします。これにより、ネストされたulのいずれかと誤って一致するのを防ぐことができます。p:first-childli

JSFiddle

JQuery

$('#top>li>ul').parent().find('>p:first-child');
于 2013-03-12T09:52:55.490 に答える