我想用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验证这个值时,我得到:
所以JQuery计算的宽度与Firebug不一样......有什么想法可以解释一下吗?
谢谢
答案 0 :(得分:1)
jQuery提供了三种计算宽度的方法。
宽度需要的是outerWidth()。
获取匹配元素集中第一个元素的当前计算宽度,包括填充和边框。
答案 1 :(得分:0)
您需要使用.outerWidth()
。
答案 2 :(得分:0)
哦不...我为每个人道歉
我的代码只是运行一些代码,然后显示这些值并修改它,所以行为看起来是正确的。
我在$("#j_idt14\\:panelGrid label").parent().ready(function(){...}
上显示了值,而我在$(document).ready(function(){...}
再次抱歉,问题解决了