2017-06-19 28 views
0

Ist es möglich, das Element First zu wählen, aber nicht Second?CSS wählen sehr direkt Kind

<p> <code>first</code> </p> 
<p> Text <code>second</code> Text </p> 

Ich beabsichtige <code> zu wählen, wenn sein Kind <p> aber ohne Inhalt (außer Leerzeichen) in <p>

will ich es ohne JS tun, wenn es nicht möglich ist, dass auch eine Antwort wäre, wenn seine erklärte

+0

Ich würde sagen .. Sie eine Kombination von CSS und Javascript für diese benötigen. . so ist Idee, alle 'P' Tags auswählen, die einen' code' Tag als direkte Kind hat und filtern dann die einmal in dem die 'Text' Eigenschaft des' P' Tages leer ist –

+0

diejenigen, die unten Voting sind, müssen den Grund kommentieren. –

+1

@VijayKumarB - https://meta.stackoverflow.com/questions/250177/require-a-comment-explaining-the-reason-for-the-first-downvote-on-a-question – Quentin

Antwort

0

Sie können dies tun, einen Filter in jQuery mit:

$('p').filter(function() { 

    var nodetoCheck = $(this).contents()[0]; 
    if ($(this).contents()[0].nodeValue.trim() === '') { 
    nodetoCheck = $(this).contents()[1]; 
    } 

    if (nodetoCheck.nodeType === 1) { 
    return true; 
    } 
}).addClass('selected'); 

JSfiddle Beispiel: https://jsfiddle.net/jennifergoncalves/eywk7b53/1/

0

p:first-child > code { 
 
    color:#fff; 
 
    background:tomato; 
 
}
<p> <code>first</code> </p> 
 
<p> Text <code>second</code> Text </p>

auch Geige Code enthalten, wenn Sie es mit jquery tun

Working fiddle

+0

Dank, aber ich möchte tun sie es mit CSS oder ich tun, es wird nicht - Styling mit JS schmutzig ist – Asara

+0

okay, ich – LKG

+0

Check Update Antwort meine Antwort bin der Bearbeitung – LKG