js代码获取元素class属性,firebug报错:obj.getattribute is not a function 5
html代码:<divclass=middle_slider><divclass=middle_slider_box><divclass=slider_nav><ul><...
html代码:
<div class=middle_slider>
<div class=middle_slider_box>
<div class=slider_nav>
<ul>
<li class=bg-873865 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon2></a></li>
<li class=bg-349fd0 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon3></a></li>
<li class=bg-eaacaf onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon4></a></li>
<li class=bg-8f31b6 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon5></a></li>
<li class=bg-155970 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon6></a></li>
<li class=bg-cd59d4 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon7></a></li>
<li class=bg-d06716 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon8></a></li>
<li class=bg-7e5a51 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon9></a></li>
<li class=bg-e93052 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon10></a></li>
<li class=bg-059aec onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon11></a></li>
<li class=bg-ff9215 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon12></a></li>
</ul>
</div>
</div>
</div>
js代码:
function changeBackgroundColor(obj){
var link=obj;
alert(typeof link);
var listname=link.getAttribute("class");
var color="#"+listname.substring(3,9);
var ulist=link.parentNode;
var middle_slider=ulist.parentNode.parentNode.parentNode;
if(middle_slider.className!="middle_slider") return false;
middle_slider.style.backgroundColor=color;
}
运行正常,但是浏览器会报错,是不是需要对参数obj提前声明什么东西吗?请各位大侠指教,多谢! 展开
<div class=middle_slider>
<div class=middle_slider_box>
<div class=slider_nav>
<ul>
<li class=bg-873865 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon2></a></li>
<li class=bg-349fd0 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon3></a></li>
<li class=bg-eaacaf onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon4></a></li>
<li class=bg-8f31b6 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon5></a></li>
<li class=bg-155970 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon6></a></li>
<li class=bg-cd59d4 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon7></a></li>
<li class=bg-d06716 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon8></a></li>
<li class=bg-7e5a51 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon9></a></li>
<li class=bg-e93052 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon10></a></li>
<li class=bg-059aec onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon11></a></li>
<li class=bg-ff9215 onmouseover="changeBackgroundColor(this)"><a href="" class=slider_nav_icon12></a></li>
</ul>
</div>
</div>
</div>
js代码:
function changeBackgroundColor(obj){
var link=obj;
alert(typeof link);
var listname=link.getAttribute("class");
var color="#"+listname.substring(3,9);
var ulist=link.parentNode;
var middle_slider=ulist.parentNode.parentNode.parentNode;
if(middle_slider.className!="middle_slider") return false;
middle_slider.style.backgroundColor=color;
}
运行正常,但是浏览器会报错,是不是需要对参数obj提前声明什么东西吗?请各位大侠指教,多谢! 展开
5个回答
展开全部
var listname=link.getAttribute("class");
link 没有getAttribute方法
追问
最开始是这样写的:
function changeBackgroundColor(obj){
var listname=obj.getAttribute("class");
...
}
在之前还试过使用obj.className,代码都可以运行但是会报错拍拦
追答
你可以用console.dir(obj)看这个汪基obj对象有那些属性和方困贺谨法
link 没有getAttribute方法
追问
最开始是这样写的:
function changeBackgroundColor(obj){
var listname=obj.getAttribute("class");
...
}
在之前还试过使用obj.className,代码都可以运行但是会报错拍拦
追答
你可以用console.dir(obj)看这个汪基obj对象有那些属性和方困贺谨法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var listname=link.getAttribute("class");
link 没有getAttribute方法
link 没有getAttribute方法
追问
最开始是这样写的:
function changeBackgroundColor(obj){
var listname=obj.getAttribute("class");
...
}
在之前还试过使用obj.className,代码都可以运行但是会报错
追答
你可以用console.dir(obj)看这个obj对象有那些属性和方法
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改渣毁成 <猜梁猛li class=bg-ff9215 onmouseover="changeBackgroundColor("+this+")"> 试穗桥试
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是obj.getAttribute("属性"),a大写A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从报错信息看,是没找到getAttribute这个函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询