使用jquery操作元素不起作用

时间:2009-08-08 01:27:52

标签: javascript jquery dom html

我有一个普通的div,就像这样:

<div id="registry_ViewPanel">
    <div id="registry_Header">Register</div>
    <div id="registry_Content">
       //Registry fields here
    </div>
</div>

用css:

#registry_ViewPanel {
    width:400px;
    height:400px;
    border:1px solid;
    background-color:#fff;
    display:none;
    position:fixed;
}

以下是我使用jquery做的一些提醒:

alert($("#registry_ViewPanel").length);
alert($("#registry_ViewPanel").html());
alert($("#registry_ViewPanel").height());
alert($("#registry_ViewPanel").width());

以下是结果

1
//Displays everything inside of <div id="registry_ViewPanel"></div>
0
0

但是当我用萤火虫看<div id="registry_ViewPanel"></div>时,没有什么能超越高度或宽度......

此外,当我尝试分配.draggable();或执行.fadeIn();时,它无效...

为什么会发生这种情况的任何想法?如果您有任何疑问,即使没有足够的信息,请告诉我,我会提供更多信息或尝试您的想法。

谢谢,
马特

2 个答案:

答案 0 :(得分:2)

height()width()函数获取实际的DOM对象高度。由于其中没有内容的div根本不会呈现,因此产生0.使用css()获取CSS属性,如karim79提及。

$("#thing").css("height");

答案 1 :(得分:0)

远景......唯一想到的是整个文档还没有加载/渲染,因此元素没有宽度和高度。你是否在文件ready()中包装了jQuery代码?

$(document).ready(function() {
   alert($("#registry_ViewPanel").length);
   alert($("#registry_ViewPanel").html());
   alert($("#registry_ViewPanel").height());
   alert($("#registry_ViewPanel").width());
});