这让我很生气有人帮忙因为我似乎没有看到问题所在。
<div id="parent">
<div id="child"></div>
</div>
<script>
$('#parent').height(300)
$('#child').height($('#child').parent().height()-10); //EDITTED LINE
</script>
以上是我需要做的逻辑。 我检查“#parent”的html标签,它说style =“height:300px;” 但是孩子的值为-10 :(应该有290; 我已经检查了DOM,值是对的我也尝试了.css('height') 但没有运气。 有没有人经历过这样的问题?如果是这样的解决办法:)让我摆脱了传教士的责任
对不起,伙计们,这是问题所在的“parent()。height()”。再次查看脚本(再次抱歉)
答案 0 :(得分:3)
.height()
有时会附加'px'来获取它。您必须删除'px',否则您将执行'300px' - 10
。您可以通过以下方式执行此操作:
var height = parseInt($('#el').height(),10);
将其转换为数字。
因此,您的代码应该改为:
$('#child').height($('#child').parent().height()-10);
为:
$('#child').height(parseInt($('#child').parent().height(),10)-10);
甚至更好,为您的代码添加缓存以加快速度! (您无需重新获取#child。)
var $child = $('#child');
$child.height(parseInt($child.parent().height(),10)-10);
您还忘记了第一个代码行上的分号,但是我没有关联。
答案 1 :(得分:0)
尝试创建变量befor
var childheight = $('#parent').height()-10;
$('#child').height(childheight);
答案 2 :(得分:-1)
为什么不将它设置为290?
$('#child').height(290);