2011-06-01 24 views
7

Estoy usando jQuery Mobile, que crea mucho DOM para usted. Necesito eliminar() los botones de opción, pero en función de cómo se construye el HTML en jQuery Mobile, no tengo una identificación para el elemento primario. Puedo tomar fácilmente tanto la entrada como las etiquetas, pero también necesito deshacerme de nuestro div para eliminar por completo el estilo de entrada de la lista de botones de opción.¿Cómo obtener el elemento padre en jQuery cuando se conoce el elemento hijo?

<div class="ui-radio"> 
    <input type="radio" value="ahBkMj" id="ahBkMj" name="spam" data-theme="c"> 
    <label for="ahBkMj" class="ui-btn ui-btn-icon-left ui-btn-up-c"> 
    <span class="ui-btn-inner"> 
     <span class="ui-btn-text">Foo</span> 
     <span class="ui-icon ui-icon-ui-icon-radio-off ui-icon-radio-off"></span> 
    </span> 
    </label> 
</div> 
+1

¿por qué no alternar? ¿mostrar ocultar? –

Respuesta

12

Will jQuery's .parent() do?

+3

también de interés puede ser ".closest()" – Pointy

+0

@Pointy, como dijiste la última vez, "grandes mentes" :) –

+0

Gracias, no sabía acerca de los padres. –

10

Dado que el elemento <div> es el precursor inmediato del elemento <input>, puede utilizar la bien llamada parent() método:

$("#ahBkMj").parent().remove(); 

En el caso general, si desea que el primer antepasado coinciden con un selector, puede utilizar closest():

$("#ahBkMj").closest("div").remove(); 

Tenga en cuenta, sin embargo, que closest() incluye el elemento de sí mismo en su búsqueda.

+0

+1 para el ejemplo. –

0

esto funciona para mí .....

var child = '# or. y el nombre de su hijo div ... ';

var width = Math.round($(child).parent().width()); 
Cuestiones relacionadas