jQuery .width()和css('width')返回无效值

时间:2011-10-26 13:37:14

标签: javascript jquery html css

我正在尝试从元素中获取父级的宽度。要做到这一点,我正在使用:

parent = $("#"+id).parent().attr("id");
parentWidth = $('#'+parent).width();

我也试过了:

parentWidth = $('#'+parent).css('width');

起初我用过

$('#'+id).parent().width(); 

这也没有用。

父变量已正确设置,但父div的宽度为90%,。width()返回90,而.css('width')返回90px。在我的.css中,widht设置为90%,我也尝试将其添加到元素本身的样式标记中。

<div id="tabs" style="height:90%;width:90%;">
CSS文件中的

#tabs{
height:90%;
width:90%;
position:absolute;
z-index:10;
overflow:hidden;
}

我一直得到90作为回报值。我究竟做错了什么? 感谢

这是我正在谈论的网页:http://www.amsterdamslyceum.lelie.demodomein.com/index.php 不介意db错误,在我刚刚开始开发时没有在主机上设置db。

6 个答案:

答案 0 :(得分:3)

$('#'.id).parent().width(); 一定是 $('#' + id).parent().width();

你检查父母吗?首先在浏览控制台(FF和Chrome)中检查此代码是否返回您想要的父级 $('#' + id).parent();

答案 1 :(得分:0)

起初我用过

$('#'.id).parent().width();

$("#".id)可能是你的问题。试试$("#" + id).parent().width()

其他想法:可能#tabs在CSS中有其他样式信息吗?

答案 2 :(得分:0)

文档http://api.jquery.com/ready/说明了这一点:

  

使用依赖CSS样式属性值的脚本时,   引用外部样式表或嵌入样式很重要   在引用脚本之前的元素。

您的脚本似乎放在样式表之前。我猜你的代码运行时没有加载样式。

答案 3 :(得分:0)

例如我试试这个: $('#tabs-1').parent().width()

并且工作正常

答案 4 :(得分:0)

尝试将脚本放在

$(document).ready(function () {YOUR CODE HERE});

答案 5 :(得分:0)

我遇到了同样的问题,我发现这是因为你可能用来修改html结构的其他jQuery插件或函数(比如使用滑块或标签等)。