当尝试查看为什么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/