2010-10-11 12 views
13

Czy możliwe jest usunięcie atrybutu pierwszego znacznika HTML <div>? Więc tak:Usuń atrybut znacznika HTML

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

staje

<div>aaa</div> 

z następujących opcji:

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

Odpowiedz

9

Aby remvove go z dosłownie pierwszy element używa .removeAttr():

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

lub w tym przypadku .show() pokaże element usuwając właściwość display:

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

Choć prawdopodobnie chcesz sprowadzić do czegoś wewnątrz innego, na przykład:

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

Jeśli chcesz pokazać pierwszy ukryty, użyj :hidden jako swojego selektora:

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

Twój pierwszy przykład '$ ("first")' nie ogranicza się do treści 'organ do spraw tagu, które zakładam jest intencja. http://jsfiddle.net/jqB2b/ Używanie '$ ('body: first')' działa. http://jsfiddle.net/jqB2b/1/ – user113716

+0

@patrick - Prawo ... stąd druga część odpowiedzi :) –

+0

niesamowite. dzięki, Nick. – DGT

1

Można użyć metody removeAttr takiego:

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

Ponieważ nie określono żadnego identyfikatora lub klasy dla div, powyższy kod znajdzie div mający styl wbudowany w nią, a potem usuwa ten styl z tego.

Jeśli wiesz, że istnieje jakiś element nadrzędny div z id, możesz użyć tego kodu, zamiast:

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

Gdzie parent_id ma być identyfikator elementu nadrzędnego zawierającego div pod znakiem zapytania.

+0

Spowoduje to usunięcie stylu z wszystkich elementów div, podczas gdy OP będzie wymagać konkretnie pierwszego. –

+0

@Gaby: Zwróciłem również uwagę, czy istnieje element nadrzędny. Dla pierwszego div ': pierwszy' selektor filtra będzie potrzebny, jak już wskazano :) – Sarfraz

+0

@Sarfraz - Nie widzę ': first' nigdzie w twojej odpowiedzi ... –

0

Mówisz "usuń atrybut" - czy chcesz usunąć atrybuty wszystkich? Lub w szczególności usunąć atrybut style? początek

Pozwala my z nim:

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

Funkcja removeAttr prostu usuwa atrybut całkowicie.

0

jest łatwy w jQuery wystarczy użyć

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

w javascript

użycie var div = document.getElementsByTagName ("div");

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

24

lub czystego javascript:

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

jQuery nie zawsze działa, gdy jscript jest używany w tym samym czasie. Otrzymuję niezdefiniowane błędy $. Dzięki – Fandango68