为什么这个IF jquery语句不起作用?

时间:2017-04-11 13:33:44

标签: jquery if-statement

我想问一下这段代码有什么问题?我无法让它工作。目标是当element.width低于400px时改变元素的高度。



$(document).ready(function() {
  if ($(".top-container").width <= 400) {
    $(".top-container").height = 20;
  } else {
    $(".top-container").height = 40;
  }
})
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

因为jQuery对象没有数字widthheight属性。他们的widthheight属性是您需要调用的函数:

if ($(".top-container").width() <= 400)
// --------------------------^^

同样,要设置宽度或高度,可以调用传递值的函数:

$(".top-container").height(40);

附注:通常最好避免反复重新查询DOM。做一次,然后重复使用结果:

var topContainer = $(".top-container");
if (topContainer.width() <= 400) {
    topContainer.height(20);
} else {
    topContainer.height(40);
}

您还可以使用条件运算符:

var topContainer = $(".top-container");
topContainer.height(topContainer.width() <= 400 ? 20 : 40);