鼠标移至二级菜单时一级菜单仍然保留停留样式的二级下拉 5
鼠标移至二级菜单时一级菜单仍然保留停留样式的二级下拉谁能帮我解释下每句代码的含义?<scripttype=text/javascript>varlis=document....
鼠标移至二级菜单时一级菜单仍然保留停留样式的二级下拉
谁能帮我解释下每句代码的含义?
<script type=text/javascript>
var lis = document.getElementById("headm").getElementsByTagName("li");
for(var i=0; i<lis.length; i++){
lis[i].onmouseover=function(){
this.className+=(this.className.length>0?" ":"") + "show";
}
lis[i].onmouseout=function(){
this.className=this.className.replace(new RegExp("( ?|^)show\\b"), "");
}
}
</script> 展开
谁能帮我解释下每句代码的含义?
<script type=text/javascript>
var lis = document.getElementById("headm").getElementsByTagName("li");
for(var i=0; i<lis.length; i++){
lis[i].onmouseover=function(){
this.className+=(this.className.length>0?" ":"") + "show";
}
lis[i].onmouseout=function(){
this.className=this.className.replace(new RegExp("( ?|^)show\\b"), "");
}
}
</script> 展开
1个回答
展开全部
var lis = document.getElementById("headm").getElementsByTagName("li");//从id为headm中获取标签所有为li的对象,
for(var i=0; i<lis.length; i++)//遍历这个对象组,
this.className+=(this.className.length>0?" ":"") + "show";//当鼠标移动在这个元素上的时候,判断一下这个元素的名为class属性值是否存在,要是存在的话,在这个值后面添加" "+"show",也就是在show前面加个空格,不存在的话直接把值设为"show",写到这里要说明一下,这句代码是错误的,因为假如className为undefined,那么undefined.length>0?这样判断是会报错的
for(var i=0; i<lis.length; i++)//遍历这个对象组,
this.className+=(this.className.length>0?" ":"") + "show";//当鼠标移动在这个元素上的时候,判断一下这个元素的名为class属性值是否存在,要是存在的话,在这个值后面添加" "+"show",也就是在show前面加个空格,不存在的话直接把值设为"show",写到这里要说明一下,这句代码是错误的,因为假如className为undefined,那么undefined.length>0?这样判断是会报错的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询