2010-10-11 18 views
13

È possibile rimuovere l'attributo del primo tag HTML <div>? Quindi, in questo modo:Rimuovi l'attributo del tag HTML

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

diventa

<div>aaa</div> 

dal seguente:

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

risposta

9

Per remvove da letteralmente il primo elemento utilizza .removeAttr():

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

o in questo caso .show() mostrerà l'elemento rimuovendo la proprietà display:

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

anche se probabilmente si vuole restringere il campo a qualcosa dentro altra cosa, ad esempio:

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

Se si desidera mostrare il primo nascosto, utilizzare :hidden come selettore:

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

Il tuo primo esempio '$ (": prima")' non si limita al contenuto del 'body' tag, che presumo è l'intenzione. http://jsfiddle.net/jqB2b/ L'uso di '$ ('body: first')' funziona. http://jsfiddle.net/jqB2b/1/ – user113716

+0

@patrick - Giusto ... quindi la seconda parte della risposta :) –

+0

impressionante. grazie, Nick. – DGT

1

È possibile utilizzare il metodo removeAttr in questo modo:

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

Dal momento che non è stato specificato alcun ID o classe per il div, il codice di cui sopra trova un div con stile in linea in esso e poi rimuove quello stile da esso.

Se sapete c'è qualche elemento padre del div con un ID, è possibile utilizzare questo codice invece:

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

dove si suppone parent_id per essere l'ID di elemento padre contenente il div in discussione.

+0

Rimuoverà lo stile da tutte le div, mentre l'OP chiederà espressamente per il primo. –

+0

@Gaby: Ho anche indicato se c'è un elemento genitore. Per il primo div ': first' il selettore del filtro sarà necessario come già indicato :) – Sarfraz

+0

@Sarfraz - Non vedo': dapprima ovunque nella risposta ... –

0

Si dice "rimuovere l'attributo" - si intende rimuovere tutti gli attributi? Oppure rimuovere specificamente l'attributo style? inizio

Let con quest'ultima:

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

La funzione removeAttr semplicemente rimuove l'attributo del tutto.

0

è facile in jQuery basta usare

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

in javascript

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

div [0].removeAttribute ("stile");

24

O puro JavaScript:

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

jQuery non funziona sempre quando jscript viene utilizzato contemporaneamente. Ottengo $ errori non definiti. Grazie – Fandango68