0

我想用 JQuery 检索一些值,但是值存在一个问题width。我只是测试它:

alert($("#j_idt14\\:panelGrid label").parent().attr('id'));
alert("width :" + $("#j_idt14\\:panelGrid label").parent().css("width"));
alert("outerWidth :" + $("#j_idt14\\:panelGrid label").parent().outerWidth());
alert("padding right :" + $("#j_idt14\\:panelGrid label").parent().css("padding-right"));
alert("padding left :" + $("#j_idt14\\:panelGrid label").parent().css("padding-left"));
alert("border right width :" + $("#j_idt14\\:panelGrid label").parent().css("border-right-width"));
alert("border left width :" + $("#j_idt14\\:panelGrid label").parent().css("border-left-width"));

我得到:

j_idt14:universe_login
width :453px
outerWidth :463
padding right :8px
padding left :0px
border right width :1px
border left width :1px

但是当我用 j_idt14:universe_login id 的 firebug 验证这个值时,我得到:

在此处输入图像描述

所以由 JQuery 计算的宽度与 Firebug 不同......有什么想法可以解释吗?

谢谢

4

3 回答 3

1

jQuery 提供了三种计算宽度的方法。

  1. 宽度()
  2. 内部宽度()
  3. 外宽()

你需要的宽度是outerWidth()。

获取匹配元素集中第一个元素的当前计算宽度,包括填充和边框。

于 2012-10-27T10:16:12.413 回答
0

你需要使用.outerWidth().

于 2012-10-27T10:10:33.087 回答
0

哦不……我向大家道歉

我的代码只是在显示这些值并修改它之后运行一些代码,所以行为看起来是正确的。

我在上面显示了值,$("#j_idt14\\:panelGrid label").parent().ready(function(){...}而里面有一些被遗忘的代码$(document).ready(function(){...}

再次抱歉,问题已解决

于 2012-10-27T10:32:39.417 回答