删除HTML标记的属性

时间:2010-10-11 20:07:39

标签: javascript jquery

是否可以删除第一个HTML <div>标记的属性?所以,这个:

<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>​

6 个答案:

答案 0 :(得分:30)

或纯JavaScript:

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

答案 1 :(得分:10)

要从字面上删除第一个元素,请使用.removeAttr()

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

或在这种情况下.show()将通过删除display属性来显示该元素:

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

虽然您可能希望将其缩小到其他内容,例如:

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

如果您想要显示第一个隐藏的,请使用:hidden作为您的选择器:

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

答案 2 :(得分:2)

是的,事实上jQuery有为此目的:http://api.jquery.com/removeAttr/

答案 3 :(得分:1)

您可以使用removeAttr方法,如下所示:

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

由于您没有为div指定任何id或类,上面的代码会在其中找到一个内嵌样式的div,然后从中删除该样式。

如果您知道div的某个父元素带有id,则可以使用此代码:

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

其中parent_id应该是包含所讨论的div的父元素的id。

答案 4 :(得分:0)

您说“删除属性” - 您是否要删除所有属性?或者具体删除style属性?

让我们从后者开始:

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

removeAttr函数只是完全删除了该属性。

答案 5 :(得分:0)

在jQuery中使用

很容易
$("div:first").removeAttr("style");

在javascript中

使用var divs = document.getElementsByTagName(“div”);

的div [0] .removeAttribute( “风格”);