2010-10-11 31 views
13

¿Es posible eliminar el atributo de la primera etiqueta HTML <div>? Por lo tanto, la siguiente:Eliminar el atributo de la etiqueta HTML

<div style="display: none; ">aaa</div> 

convierte

<div>aaa</div> 

entre los siguientes:

<div style="display: none; ">aaa</div> 
<a href="#" style="display: none; ">(bbb)</a> 
<span style="display: none; ">ccc</span>​ 

Respuesta

9

Para remvove desde literalmente, el primer elemento usa .removeAttr():

$(":first").removeAttr("style"); 

o en este caso .show() mostrará el elemento mediante la eliminación de la propiedad display:

$(":first").show(); 

Aunque es probable que desee limitar la búsqueda a dentro de otra cosa, por ejemplo:

$("#container :first").removeAttr("style"); 

Si desea mostrar el primero oculto, use :hidden como su selector:

$(":hidden:first").show(); 
+1

Su primer ejemplo '$ (": en primer lugar")' no se limita al contenido de la etiqueta de 'body', que supongo es la intención. http://jsfiddle.net/jqB2b/ El uso de '$ ('body: first')' funciona. http://jsfiddle.net/jqB2b/1/ – user113716

+0

@patrick - Correcto ... de ahí la segunda parte de la respuesta :) –

+0

awesome. gracias, Nick – DGT

1

Usted puede utilizar el método removeAttr así:

$('div[style]').removeAttr('style'); 

Dado que no se ha especificado ningún ID o clase para el div, el código anterior encuentra una que tiene estilo en línea div en ella y luego se elimina ese estilo de ella.

Si usted sabe que hay algún elemento padre del div con un id, se puede utilizar este código en su lugar:

$('#parent_id div[style]').removeAttr('style'); 

donde se supone que parent_id a ser el ID del elemento principal que contiene el div en cuestión.

+0

Eliminará el estilo de todos los divs, mientras que el OP preguntará específicamente por el primero .. –

+0

@Gaby: También he señalado si hay un elemento padre. Para el primer div ': primer selector de filtro 'será necesario como ya se señaló :) – Sarfraz

+0

@Sarfraz - No veo': primero' en cualquier lugar en su respuesta ... –

0

Dice "eliminar el atributo" - ¿Quiere decir eliminar todos los atributos? ¿O eliminar el atributo style específicamente? inicio

Vamos con este último:

$('div').removeAttr('style'); 

La función removeAttr simplemente elimina el atributo del todo.

0

es fácil en jQuery sólo tiene que utilizar

$("div:first").removeAttr("style"); 

en javascript

divs uso var = document.getElementsByTagName ("div");

divs [0].removeAttribute ("estilo");

24

O JavaScript puro:

document.getElementById('id?').removeAttribute('attribute?') 
+0

jQuery no siempre funciona cuando jscript se está utilizando al mismo tiempo. Recibo $ undefined errors. Gracias – Fandango68

Cuestiones relacionadas