2010-02-11 774 views

Respuesta

23

Se puede simplificar el código para:

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

El selector '$ (" whatever_1: has (> whatever_2) ")' funciona para filtrar por hijo directo. '$ (" whatever_1 "). has ("> whatever_2 ")' no. Las dos técnicas son _no_ equivalentes. – Zarepheth

+0

Estoy bastante seguro de que hay un precio Nobel en algún lugar de Noruega esperando a que la persona que inventó jQuery lo recoja. ¡Me encanta el jQuery! – user35443

+0

@Zarepheth ¿por qué no? – TWiStErRob

8

Utilice la :has selector:

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

He aquí un ejemplo que escribí:

$(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

¡Increíble, gracias! –

+0

¿Cómo se haría esto con ['.has()'] (http://api.jquery.com/has/)? – ahsteele

Cuestiones relacionadas