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(…)


海绵宝宝撒
浏览 565回答 1
1回答

慕的地6264312

同楼上 quiet_coder 说的直接 for (var i = 0, l = path.length; i < l; i += 1) ... 就可以了。for-in 罗列的是对象中PropertyIsEnumerable()的属性,所以path这个类数组中所有PropertyIsEnumerable()的属性都被罗列出了,包含 <length, item, namedItem>这些
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript