javascript - setAttribute("",""); 放在for循环中,报错

查看:163
本文介绍了javascript - setAttribute("",""); 放在for循环中,报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

var path = document.getElementsByTagName("path");
    (function fillCss(){
    for(var i in path){
      path[i].setAttribute("fill","none");
      path[i].setAttribute("stroke","black");
      path[i].setAttribute("stroke-width","0.5");
    }
    })();

样式被执行但是报错:

Uncaught TypeError: path[i].setAttribute is not a function(…)

解决方案

同楼上 quiet_coder 说的
直接 for (var i = 0, l = path.length; i < l; i += 1) ... 就可以了。
for-in 罗列的是对象中PropertyIsEnumerable()的属性,所以path这个类数组中所有PropertyIsEnumerable()的属性都被罗列出了,包含 <length, item, namedItem>这些

这篇关于javascript - setAttribute(&quot;&quot;,&quot;&quot;); 放在for循环中,报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆