2013-03-11 140 views
0

可以说我想给元素指定宽度。例如,我有一个div的内容,我想分配style="width:..."它。
然后jQuery中我做的:使用jquery设置元素宽度或高度

elem.width(elem.width()); 

它看起来对我来说完全错误的,因为它看起来像我怎么可以得到它的设置宽度..

有没有更好的办法做到这一点?

+1

你为什么要或需要这样做? – Pete 2013-03-11 11:30:09

+2

对我来说,它看起来很好,因为在jQuery中获取和设置的方式不同。虽然获取宽度大部分是计算的,但在设置时 - 它是用样式显式设置的。 – VisioN 2013-03-11 11:30:48

+0

你想在jQuery或Javascript中......? – 2013-03-11 11:35:12

回答

0

你可以做到这一点

$(function() { 
    $("#mainTable").width(100).height(200); 
}); 

这有2种变化,它现在使用.WIDTH()和.height(),以及运行在的document.ready事件的代码。如果你喜欢,没有$(function(){})包装器(或$(document).ready(function(){})),你的元素可能还没有出现,所以$(“#mainTable” )只是不会找到任何东西......好吧,做点什么吧。

+0

我不明白你的解释.. – Naor 2013-03-11 11:36:34

+0

100和200是静态的,但你需要放置动态变量。 – 2013-03-11 11:37:45

+0

$(“#mainTable”)。width()是动态变量。 – Naor 2013-03-11 11:42:23

0

更好的使用JQuery以下方法来添加CSS:

$(函数(){ $( “#测试”),CSS({ 宽度: '30PX', 高度: '30PX' } ); });

+0

我不是在问怎么做。我在问这是否正确,以及这是否是错误的。 – Naor 2013-03-11 11:47:21

0

如果你喜欢的风格,你可以使用jQuery的.css()方法:

$('.element').css('width', $('.element').width()); 
1

试试这个

document.getElementById('divName').style.width = '10px'; 
+0

我不是在问怎么做。我在问这是否正确,以及这是否是错误的。 – Naor 2013-03-11 11:48:56

0

如果你有相同的类(但不同的宽度)的多个元素,你可以做这个:

$('.yourClass').width(function(id, width) { 
    return width; 
}); 

查看the docs的解释。

+0

我不是在问怎么做。我在问这是否正确,以及这是否是错误的。 – Naor 2013-03-11 11:45:59

+0

你问了一个更好的方法,因为这里有很多答案/评论,告诉你这不是你正在做的事情,我只是给了你另一个例子,说明你可能还没有考虑过的情况,例如,使用相同的选择器设置多个不同大小的元素的'style =“width:...”'。 – Simon 2013-03-11 11:48:49