html:
<div id="left">
<ul id="lu">
<li id="unch"><img src="image/biao.gif"/> 软件产品</li>
<li class="personnel" onclick="go_to(1)">portal产品</li>
<li class="personnel1" onclick="go_to(2)">BI产品</li>
<li class="personnel" onclick="go_to(3)" >增值软件产品</li>
</ul>
</div>js:
<script>
//<!--
var l=document.getElementById("lu").childNodes;
var d=document.getElementById("right").childNodes;
function go_to(ao){
for(var i=0;i<d.length;i++){
if(ao==i+1){
l[ao].className="personnel1";
d[i].className="";
d[i].className="bock";
}
else{
l[i+1].className="personnel";
d[i].className="";
}
} }
//-->
</script>
<div id="left">
<ul id="lu">
<li id="unch"><img src="image/biao.gif"/> 软件产品</li>
<li class="personnel" onclick="go_to(1)">portal产品</li>
<li class="personnel1" onclick="go_to(2)">BI产品</li>
<li class="personnel" onclick="go_to(3)" >增值软件产品</li>
</ul>
</div>js:
<script>
//<!--
var l=document.getElementById("lu").childNodes;
var d=document.getElementById("right").childNodes;
function go_to(ao){
for(var i=0;i<d.length;i++){
if(ao==i+1){
l[ao].className="personnel1";
d[i].className="";
d[i].className="bock";
}
else{
l[i+1].className="personnel";
d[i].className="";
}
} }
//-->
</script>
解决方案 »
- JS动态为UL创建1个LI 为LI绑定一个Onlick事件。怎么做?
- javascript读取到的数据信息怎么显示到html表格中???
- 怎样获取第一个class的id
- 脚本和服务器控件的问题!
- 如果何取得网页的返回值? 急,高分
- 请教高手,看看这些代码有什么问题。
- javascript强制使多个div的高度全部相同
- 求如下功能如何实现? 关于 IFRAME 框架的大小.
- 用javascript编写一个文件检索小程序。
- 如何实现F11的功能?
- js改变下拉框的selectIndex后,页面没有改变,但实际上selectIndex已经改变了,这是为什么??
- [百度分享]初探 jQuery 的 Sizzle 选择器(一)
所以实际上 l[1] 是个空白节点,它是没有className属性的,所以报错
我建议判断下nodeType
或者干脆叫找指定的 标签
其中"right"是那个元索的ID,我在FF里测试了,如果把right换成id为left测试没有报错.
<script>
//<!--
var l=document.getElementById("lu").childNodes;
var d=document.getElementById("right").childNodes;
function go_to(ao){try{
for(var i=0;i<d.length;i++){
if(ao==i+1){
l[ao].className="personnel1";
d[i].className="";
d[i].className="bock";
}
else{
l[i+1].className="personnel";
d[i].className="";
}
}
}
catch(e){
var msg="";
for(i in e){
msg+=i+":"+e[i]+"\n";
}
alert(msg);//出现错误,看看错误信息是什么,然后再发出来大家帮你解决
}
}
//-->
</script>
//<!--
var l=document.getElementById("lu").childNodes;
var d=document.getElementById("right").childNodes;
function go_to(ao){try{
for(var i=0;i<d.length;i++){
if(ao==i+1){
l[ao].className="personnel1";
d[i].className="";
d[i].className="bock";
}
else{
l[i+1].className="personnel";
d[i].className="";
}
}
}
catch(e){
var msg="";
for(i in e){
msg+=i+":"+e[i]+"\n";
}
alert(msg);//出现错误,看看错误信息是什么,然后再发出来大家帮你解决
}
}
//-->
</script>
正确第一次遍历
火狐中 空格和 回车都是一个新的节点
在IE中 是 < > 为一个节点
第二次遍历就不会出现了建议参考http://wenku.baidu.com/view/046be91cfad6195f312ba69b.html