我在我的网站上创建了菜单(树)。当用户单击该菜单时,它将显示另外两个菜单。它适用于除firefox浏览器之外的所有浏览器。谁能告诉我这是什么问题?
html代码
<li><a href="JavaScript:ok('tree1');">Sport</a></li>
<div id="tree1" style="display:none;">
<li><a href="national_sport.php">National Sport</a></li>
<li><a href="international_sport.php">International Sport</a></li>
</div>
javascript代码
function ok(id){
if(document.all(id).style.display == "none") {
document.all(id).style.display="block";
}
else{
document.all(id).style.display="none";
}
}
提前感谢!
答案 0 :(得分:4)
document.all
是IE4主义。它是非标准的,大约15年前由(广泛支持的)document.getElementById('id_of_element')
替换。
答案 1 :(得分:1)
有很多问题。
因此,将我发表的评论转换为代码并不加引人注意地添加它
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
window.onload=function() {
var links = document.getElementsByTagName("a");
for (var i=0, n=links.length;i<n;i++) {
if (links[i].id.indexOf("_link") !=-1) {
links[i].onclick=function() {
var id=this.id.split("_")[0]; // get the prefix
var sub = document.getElementById(id);
sub.style.display=sub.style.display=="block"?"none":"block";
return false; // stop following the link
}
}
}
}
</script>
</head>
<body>
<ul>
<li><a id="tree1_link" href="#">Sport</a>
<ul id="tree1" style="display:none">
<li><a href="national_sport.php">National Sport</a></li>
<li><a href="international_sport.php">International Sport</a></li>
</ul>
</li>
</ul>
</body>
</html>
答案 2 :(得分:0)
function ok(id){
if(document.getElementById(id).style.display == "none" ) {
document.getElementById(id).style.display="block";
}
else{
document.getElementById(id).style.display="none";
}
}
答案 3 :(得分:0)
function ok(id){
var div=document.getElementById(id)
div.style.display= (div.style.display=="block")? "none" : "block";
}