当尝试查看为什么removeAttr似乎并不总是有效时,我尝试了。

$("div#mydiv").css('height','200px');
$("table").removeAttr("border");
$("#mydiv").removeAttr("height");


可以删除表格边框属性,但不能删除div height属性。我需要使用其他建议的方法,例如

$("#mydiv").css('height','auto')


对其进行更改,但实际上并未将其删除。

我想知道是什么使removeAttr在这种情况下不起作用?任何地方都没有其他CSS。

最佳答案

removeAttr是指标记的属性。因此,鉴于:

<span title="my-title" id="my-id" style="height: 4px; padding: 200px;" />


该范围具有三个属性,标题,ID和样式。 removeAttr将让您删除其中的任何一个。但这是窍门,尽管removeAttr可以让您删除样式属性,但它只能删除高度和填充,而不能编辑。

这个:

$("#my-id").removeAttr("style");


结果是:

<!-- not literally, but this is the best way to explain it -->
<span title="my-title" id="my-id" />




另一方面,css允许您直接编辑该样式属性。

这个:

$("#my-id").css("height", "2px");


结果是:

<span title="my-title" id="my-id" style="height: 2px; padding: 200px;" />


现在,要删除高度,您可以将一个空字符串传递给第二个参数。

这个:

$("#my-id").css("height", "");


结果是:

<span title="my-title" id="my-id" style="padding: 200px;" />

关于jquery - 为什么JQuery的removeAttr不总是起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7132586/

10-11 14:36