使用JQuery检索宽度值

时间:2012-10-27 10:07:13

标签: jquery

我想用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

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

enter image description here

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

谢谢

3 个答案:

答案 0 :(得分:1)

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

  1. width()
  2. innerWidth()
  3. outerWidth()
  4. 宽度需要的是outerWidth()。

      

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

答案 1 :(得分:0)

您需要使用.outerWidth()

答案 2 :(得分:0)

哦不...我为每个人道歉

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

我在$("#j_idt14\\:panelGrid label").parent().ready(function(){...}上显示了值,而我在$(document).ready(function(){...}

中有一些遗忘的代码

再次抱歉,问题解决了