当试图了解为什么removeAttr似乎总是起作用我尝试了。
$("div#mydiv").css('height','200px');
$("table").removeAttr("border");
$("#mydiv").removeAttr("height");
表格边框属性已删除,但不是div高度属性。我需要使用其他建议的方法,如
$("#mydiv").css('height','auto')
改变它但实际上没有删除它。
我很想知道是什么让removeAttr在这种情况下不起作用?在任何地方都没有其他的CSS。
答案 0 :(得分:7)
removeAttr
是指代码的属性。所以,给定:
<span title="my-title" id="my-id" style="height: 4px; padding: 200px;" />
该跨度有三个属性,title,id和style。 removeAttr将允许您删除任何这些。但是这里有诀窍,而removeAttr会让你删除style属性,它只能删除高度和填充,它也无法编辑。
此:
$("#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;" />
答案 1 :(得分:4)
height
是内联css样式,这意味着它位于style
属性中。我想你可以这样做
$('#mydiv').css('height', '');
答案 2 :(得分:1)
这应该适用于id,href,disabled,selected等属性......即使是内联使用的css也是“style”属性的一部分。您可以删除样式属性,但不能删除其中的部分。
您可以尝试$("#mydiv").css('height', '');
我不记得在css函数中传递空字符串时会发生什么。
答案 3 :(得分:1)
使用jQuery的height:
$(document).ready(function() {
$("div#mydiv").css('height', '200px');
$('#clicker').click(function() {
$('#mydiv').height('')
});
});