4

我不是专家 javascript 编码器。我现在用了 5 个小时尝试了很多不同的东西。我注意到一些我想不通的事情,我试图让它发挥作用

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

但它返回未定义我试过做

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

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

当我使用

 $('#immagineCont')

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

所以我想要做的是让该死的 clientWidth 女巫似乎是不可能的。我什至尝试过儿童(“0”)和儿童(“#0”),我很快就会大吃一惊^^

4

2 回答 2

6

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

你可以简单地使用

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

但你更可能需要

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

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

您可能也对outerWidth感兴趣。

关于发生的情况和需要的说明get(0):jQuery 集合(如$('#immagineCont'))包装了一个或多个标准 DOM 对象,您可以使用get(i)[i]. 如果你想访问 DOM 对象的原生属性,当 jQuery 不提供代理功能时,你需要先获取这个原生对象。

于 2012-11-23T12:13:25.707 回答
1

width()为此目的使用 jQuery :

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

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

var width = $('#immagineCont')[0].clientWidth;
于 2012-11-23T12:17:47.950 回答