jQuery Div attr(width = $('#immagineCont')。attr('clientWidth'); = undefined

时间:2012-11-23 12:12:24

标签: javascript jquery html undefined attr

我没有专业的javascript编码器。 我用了5个小时现在尝试了很多不同的东西。我注意到一些我无法弄清楚的事情 我试图让这个工作

width = $('#immagineCont').attr('clientWidth');

但它返回undefined 我试着做了

width = $('#immagineCont').attr('id');

女巫回归#immagineCont我猜是正确的。

当我使用

 $('#immagineCont')

我在萤火虫中得到这个1) http://bildr.no/view/1325119 2) http://bildr.no/view/1325120

所以我想做的就是得到该死的clientWidth女巫似乎是不可能的。我甚至试过孩子(“0”)和孩子(“#0”) 我很快就会吹脑筋^^

2 个答案:

答案 0 :(得分:5)

attr仅在存在具有此名称的属性时才有效。

您可以简单地使用

width = $('#immagineCont').get(0).clientWidth;

但你可能更需要

width = $('#immagineCont').width();

如果您想在浏览器中执行相同的操作(但不包括填充和边框),则更可靠。

您可能也会对outerWidth感兴趣。

关于发生了什么以及对get(0)的需求的说明:jQuery集合(如$('#immagineCont'))包装了一个或多个标准DOM对象,您可以使用get(i)或{{1 }}。如果要访问DOM对象的本机属性,当jQuery不提供代理函数时,您需要首先获取此本机对象。

答案 1 :(得分:1)

为此目的使用jQuery width()

var width = $('#immagineCont').width();

此外,没有为名为clientWidth的元素设置属性。这是一个javascript属性,因此可以通过取消引用jQuery对象来检索它:

var width = $('#immagineCont')[0].clientWidth;