【发布时间】:2011-03-18 16:08:54
【问题描述】:
我正在尝试使用自定义 css 创建一个下拉选择菜单(类似于http://translate.google.com/# 的语言下拉选择)。
我有当前的 html 代码:
<ul id="Select">
<li>
<select id="myId"
onmouseover="mopen('options')"
onmouseout="mclosetime()">
<div id="options"
onmouseover="mcancelclosetime()"
onmouseout="mclosetime()">
<option value="1" selected="selected">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</div>
</select>
</li>
</ul>
和 Javascript:
function mopen(id)
{
// cancel close timer
mcancelclosetime();
// close old layer
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
但是 document.getElementById 返回 null。
虽然如果我将代码与不包含选择列表的 div 元素一起使用,则 document.getElementById(id) 会返回正确的 div 值。
我该如何解决这个问题?还是有更好的方法来创建像http://translate.google.com 这样的下拉选择菜单?
【问题讨论】:
-
您链接到的网站上的下拉菜单实际上并不是 HTML
select元素——它们的外观和行为与使用 JavaScript/CSS 类似。您可能会找到 JavaScript 库、jQuery 插件等,让您轻松完成这项工作。
标签: javascript html select