我正在尝试在javascript中检索html元素宽度。屏幕上没有任何内容(纯文本有效,所以我认为语法有问题)。我究竟做错了什么?感谢
<head>
<script type="text/javascript">
var width = $("#menu").width();
document.write(width);
</script>
</head>
<body>
<h1> Example </h1>
<ul id = "menu">
<li><img src="img/Logo.jpg"/></li>
<li><a href ="#">Home</a>
<ul class = "sub1">
<li><a href ="#">News</a></li>
</ul>
</li>
<li><a href ="#">Machines</a>
<ul class = "sub1">
<li><a href ="#">Type1</a></li>
<li><a href ="#">Type2</a></li>
<li><a href ="#">Type3</a></li>
</ul>
</li>
<li><a href ="#">Mission</a></li>
<li><a href ="#">Contacts</a></li>
</ul>
<div id "main">
<h2> Whatever </h2>
</div>
</body>
答案 0 :(得分:0)
当元素尚不存在时,您正在计算和打印宽度。
你可以这样做:
<div id=head></div>
<script type="text/javascript">
$(function(){ // called when the DOM is ready
var width = $("#menu").width();
$('#head').html(width);
});
</script>
如您所见,我使用div
代替head
,因为将head
的内容设置为宽度是没有意义的。如果要更改页面标题,请使用
document.title = width;
正如j08691所注意到的,你使用jQuery,但你似乎没有导入它。如果您显示的代码是真正的标题,那么您需要在head
元素中添加以下内容:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>