2010-10-11 114 views
13

是否可以刪除第一個HTML <div>標記的屬性?所以,這樣的:刪除HTML標記的屬性

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

成爲

<div>aaa</div> 
從以下

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

回答

9

從remvove它字面上第一個元素使用.removeAttr()

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

或在這種情況下.show()將通過移除display屬性顯示元素:

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

雖然你可能想將它縮小到別的裏面的東西,例如:

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

如果您想顯示第一個隱藏的,使用:hidden作爲您的選擇器:

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

你的第一個例子'$(「:第一個」)'本身並不限制在'body'標籤,我以爲是有意的內容。 http://jsfiddle.net/jqB2b/使用'$('body:first')'工作。 http://jsfiddle.net/jqB2b/1/ – user113716 2010-10-11 20:19:04

+0

@patrick - 正確的...因此,第二部分的答案:) – 2010-10-11 20:20:49

+0

真棒。謝謝,尼克。 – DGT 2010-10-11 20:21:43

1

可以使用removeAttr方法是這樣的:

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

既然你沒有指定的DIV任何id或class,上面的代碼中發現它一個div有內聯樣式,然後將其從中刪除該風格。

如果你知道有一個ID的div一些父元素,你可以使用此代碼來代替:

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

parent_id應該是包含在問題的DIV父元素的ID。

+0

它會刪除所有div的樣式,而OP會特別要求第一個。 – 2010-10-11 20:13:55

+0

@Gaby:我也指出是否有父元素。對於第一個div':first'過濾器選擇器將需要,因爲已經指出:) – Sarfraz 2010-10-11 20:16:21

+0

@Sarfraz - 我沒有看到':第一'在你的答案中的任何地方... – 2010-10-11 20:17:22

0

你說「刪除屬性」 - 你的意思是刪除全部屬性?或者專門刪除style屬性?

讓我們先從後者:

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

removeAttr功能只是完全刪除該屬性。

0

很容易在jQuery中只使用

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

在javascript

使用VAR的div = document.getElementsByTagName( 「DIV」);

divs [0]。的removeAttribute( 「風格」);

24

或者純JavaScript:

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

當jscript同時使用時,jQuery並不總是有效。我得到$ undefined的錯誤。謝謝 – Fandango68 2016-11-22 01:10:09