2010-02-11 13 views

risposta

23

È possibile semplificare il codice per:

$('div:has(> object)').css('text-align', 'center'); 
+3

Il selettore '$ (" whatever_1: has (> whatever_2) ")' funziona per filtrare per figlio diretto. '$ (" whatever_1 "). has ("> whatever_2 ")' no. Le due tecniche non sono equivalenti. – Zarepheth

+0

Sono sicuro che c'è un prezzo Nobel da qualche parte in Norvegia in attesa della persona che ha inventato jQuery per prenderlo. Mi fa impazzire jQuery! – user35443

+0

@ Zarepheth perché no? – TWiStErRob

8

utilizzare il selettore :has:

$("div:has(> object)").css("text-align", "center"); 

Ecco un esempio che ho scritto fino:

$(function() { 
 
    $("div:has(> h3)").css("background", "yellow"); 
 
});
div { padding: 15px; border: 1px solid black; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
 
<div> 
 
    <h2>outer</h2> 
 
    <div> 
 
    <h3>inner</h3> 
 
    </div> 
 
</div>

+0

Fantastico, grazie! –

+0

Come si farebbe con ['.has()'] (http://api.jquery.com/has/)? – ahsteele

Problemi correlati