SVG setAttribute在className数组循环上不起作用

时间:2019-01-14 14:32:46

标签: javascript svg attributes classname

我已经用这个看似简单的代码片段研究和尝试了我能想到的所有变体,但错误提示该元素未定义。我只是试图用“眼睛”类设置所有元素的高度。

我可以将它写成0和1的'k',并且可以将循环设置为k <1也可以,但是对于k <2则不行,显然有两个类元素。有人可以告诉我我在做什么错吗?

<html>
   <svg>
      <rect class="eyes" transform="rotate(6 352 241)" x="352" y="241" width="70" height="3" fill="#DDC093"/>
      <rect class="eyes" transform="rotate(-8 230 245)" x="230" y="245" width="70" height="3" fill="#DDC093"/>
   </svg>
   <script>
      allEyes = document.getElementsByClassName('eyes')

      function blink(eyeno) {
        for (var k = 0; k < allEyes.length; ++k) {
          x01 = setTimeout(function() {
            allEyes[k].setAttribute("height", 20)
          }, 200);
        }
      };
      blink('eyes');
   </script>
</html>

0 个答案:

没有答案