一段很简单的js代码,不知道哪出错了,无法执行很郁闷
一段很简单的js代码,不知道哪出错了,无法执行。当点击aaaaaa时显示aaaDiv的内容,点击bbbb时显示bbbDiv的内容。现在执行不了,请问错在哪,好郁闷。。<div >
<div class="aaa" id="aaaid"><a href="#" onclick="ShowItem('a')">aaaaaaa</a></div>
<div class="bbb" id="bbbid"><a href="#" onclick="ShowItem('b')">bbbbbbb</a></div>
</div>
<div id="aaaDiv">
aaaaaa </div>
<div id="bbbDiv" style="display:none;">
bbbbbbb </div>
function ShowItem(item)
{
if (item == "aaa")
{
document.getElementById("aaaid").className = "aaa";
document.getElementById("bbbid").className = "bbb";
document.getElementById("aaaDiv").style.display = "";
document.getElementById("bbbDiv").style.display = "none";
}
if (item == "bbb")
{
document.getElementById("aaaid").className = "bbb";
document.getElementById("bbbid").className = "aaa";
document.getElementById("bbbDiv").style.display = "";
document.getElementById("aaaDiv").style.display = "none";
}
}
--------------------编程问答-------------------- <div >
<div class="aaa" id="aaaid"> <a href="#" onclick="ShowItem('aaa')">aaaaaaa </a> </div>
<div class="bbb" id="bbbid"> <a href="#" onclick="ShowItem('bbb')">bbbbbbb </a> </div>
</div>
<div id="aaaDiv">
aaaaaa </div>
<div id="bbbDiv" style="display:none;">
bbbbbbb </div>
<script language="javascript">
function ShowItem(item)
{
if (item == "aaa")
{
document.getElementById("aaaid").className = "aaa";
document.getElementById("bbbid").className = "bbb";
document.getElementById("aaaDiv").style.display = "";
document.getElementById("bbbDiv").style.display = "none";
}
if (item == "bbb")
{
document.getElementById("aaaid").className = "bbb";
document.getElementById("bbbid").className = "aaa";
document.getElementById("bbbDiv").style.display = "";
document.getElementById("aaaDiv").style.display = "none";
}
}
</script>
你传的参数不对,当然不能执行了 --------------------编程问答-------------------- 不是。那里是我刚才写错了,参数正确的。有其它原因吗。谢谢 --------------------编程问答-------------------- IE提示“缺少对象”?明明有的。 --------------------编程问答-------------------- 晕了。。错在这。if (item == "aaa") 应为if (item == 'aaa') --------------------编程问答-------------------- "aaa"和'aaa'没有区别,都是字符串。
按理这个代码一般情况下不会出错,但是是一般情况下。
1,document.getElementById("aaaid")不一定就返回了对应的对象(原因很多,例如前文出现错误的textarea,或者有另外一个同样的id的其他元件等);
最好是检查一下,像这样:
var obj=document.getElementById("aaaid");
if(obj){
obj.style.cssText="display:none;";
}
2,function ShowItem的定义最好应该在调用的代码前载入,也就是在onclick事件的前文载入。
网速比较慢页面没有打开完整的时候,使用onclick事件时可能会调用一个不存在的js函数(因为还没来得及载入)。 --------------------编程问答-------------------- 但是按照我那个代码在我这里是可以执行并且结果是正确的啊 --------------------编程问答-------------------- 楼主
<div >
<div class="aaa" id="aaaid"> <a href="#" onclick="ShowItem('a')">aaaaaaa </a> </div>
<div class="bbb" id="bbbid"> <a href="#" onclick="ShowItem('b')">bbbbbbb </a> </div>
</div>
看红色的部分,你把a和b传参数传进去了,但是后面的代码没有用到a和b啊?
看1楼的写的多明白!
补充:.NET技术 , ASP.NET