2017-02-18 55 views
0

你可以看看this demo,让我知道为什么我不能动态设置.box的高度吗?不能使用jQuery动态设置div的高度

$(function(){ 
    $(window).load(function(){ // On load 
     $('.box').css({'height':(($(window).height()))+'px'}); 
    }); 
    $(window).resize(function(){ // On resize 
     $('.box').css({'height':(($(window).height()))+'px'}); 
    }); 
}); 

<section> 
<div class="col-md-12" id="box-1">Height has been set!</div> 
</section> 
<section> 
<div class="col-md-12" id="box-2">Height has been set!</div> 
</section> 
<section> 
<div class="col-md-12" id="box-3">Height has been set!</div> 
</section> 
<section> 
<div class="col-md-12" id="box-4">Height has been set!</div> 
</section> 
<section> 
<div class="col-md-12" id="box-5">Height has been set!</div> 
</section> 
+0

Link不为我工作;也许jsFiddle会更好......? – dkellner

+2

您的示例中没有类“.box”的元素,并且您提供的链接不起作用。 – Win

回答

0

首先,您正在使用错误的选择器。您需要查询名为“col-md-12”的班级。

然后,您正在使用在3.0中从JQuery中删除的window.load()事件(请参阅here)。您可以使用$(document).ready(function() {})$(window).on("load",function(){})

您的代码应该是这样的:

$(function(){ 
    $(document).ready(function(){ // On load 
     $('.col-md-12').css({'height':(($(window).height()))+'px'}); 
    }); 
    $(window).resize(function(){ // On resize 
     $('.col-md-12').css({'height':(($(window).height()))+'px'}); 
    }); 
}); 
0

你指的是一个不存在的类。 而不是$(“。box”),使用$(“[id^='box-']”) - 你不是在寻找那些带有“box”类但是的id属性,字符串'box-'。 (或者,你可以为每个你想要调整的元素添加一个“box”类,并保留原来的jQuery选择器;也许这是一个更好的方法,它取决于你网站其他部分的逻辑。 )

  1. $( “[ID^= '箱 - ']”)
  2. $( “框 ”)和类似的div类=“ COL-MD-12盒”