首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用jQuery动态设置宽度和高度

如何使用jQuery动态设置宽度和高度
EN

Stack Overflow用户
提问于 2010-04-27 22:31:49
回答 7查看 285.6K关注 0票数 82

我想使用jQuery动态设置div元素的宽度和高度。

我在试着替换

代码语言:javascript
复制
<div id="mainTable" style="width:100px; height:200px;"></div>

有了这个:

代码语言:javascript
复制
$("#mainTable").css("width", "100");
$("#mainTable").css("height", "200");

但是,它对我不起作用。

请帮助理解其中的原因。

谢谢大家!

问题出在数字的引号上。这可以很好地工作:

代码语言:javascript
复制
$("#mainTable").css("width", 100);
$("#mainTable").css("height", 200);
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-04-27 22:36:07

您可以这样做:

代码语言:javascript
复制
$(function() {
  $("#mainTable").width(100).height(200);
});

这有两个变化,它现在使用.width().height(),以及在document.ready事件上运行代码。

如果没有$(function() { })包装器(或者$(document).ready(function() { }),如果你喜欢),你的元素可能还不存在,所以$("#mainTable")不会找到任何东西to...well,做一些事情。You can see a working example here

票数 118
EN

Stack Overflow用户

发布于 2015-06-16 04:10:13

正如@Misha Moroshko已经发布了自己的帖子,这是有效的:

代码语言:javascript
复制
$("#mainTable").css("width", 100);
$("#mainTable").css("height", 200);

与@Nick Craver接受的答案相比,这种技术有一些优势-你也可以指定不同的单元:

代码语言:javascript
复制
$("#mainTable").css("width", "100%");

因此,对于某些用户来说,@Nick Craver的方法实际上可能是错误的选择。在jquery API (http://api.jquery.com/width/)中:

.css(width)和.width()之间的区别在于,后者返回的是没有单位的像素值(例如,400),而前者返回的是单位保持不变的值(例如,400px)。当需要在数学计算中使用元素的宽度时,建议使用.width()方法。

票数 24
EN

Stack Overflow用户

发布于 2010-04-27 22:36:03

试试这个:

代码语言:javascript
复制
<div id="mainTable" style="width:100px; height:200px;"></div> 

$(document).ready(function() {
  $("#mainTable").width(100).height(200);
}) ;
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2722068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档