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提前声明什么东西吗?请各位大侠指教,多谢!
展开
 我来答
msh1028
2017-08-02 · TA获得超过2.6万个赞
知道大有可为答主
回答量:1.9万
采纳率:62%
帮助的人:1071万
展开全部
var listname=link.getAttribute("class");
link 没有getAttribute方法
追问
最开始是这样写的:
function changeBackgroundColor(obj){
var listname=obj.getAttribute("class");
...
}
在之前还试过使用obj.className,代码都可以运行但是会报错拍拦
追答
你可以用console.dir(obj)看这个汪基obj对象有那些属性和方困贺谨法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
peng381032913
2014-12-22 · 超过24用户采纳过TA的回答
知道答主
回答量:173
采纳率:0%
帮助的人:61万
展开全部
var listname=link.getAttribute("class");
link 没有getAttribute方法
追问
最开始是这样写的:
function changeBackgroundColor(obj){
var listname=obj.getAttribute("class");
...
}
在之前还试过使用obj.className,代码都可以运行但是会报错
追答
你可以用console.dir(obj)看这个obj对象有那些属性和方法
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jack_wang0823
推荐于2017-08-06 · TA获得超过2956个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1420万
展开全部
改渣毁成 <猜梁猛li class=bg-ff9215 onmouseover="changeBackgroundColor("+this+")"> 试穗桥试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
任然是我2012
2017-06-28 · TA获得超过313个赞
知道小有建树答主
回答量:343
采纳率:52%
帮助的人:72万
展开全部
是obj.getAttribute("属性"),a大写A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxc6055708
2017-07-31
知道答主
回答量:56
采纳率:0%
帮助的人:18.4万
展开全部
从报错信息看,是没找到getAttribute这个函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式