动态样式更改方法失败

时间:2011-10-30 03:09:36

标签: javascript

尝试下面的动态样式更改,但该功能保持沉默。我使用过JSHint,一切似乎都很好。

function styleInput(elClass,color)
{
  "use strict";

  var document;
  elClass = document.getElementsByClassName(elClass);



var len = elClass.length;

    for (var i=0; i < len;i++) {

        if (elClass[i].className === elClass) 


                {

                  var tmp = elClass[i];


                  tmp.style.backgroundColor = color;

                  tmp = " ";





                }

        }




}

styleInput("fm_bushido", "#f3f3f3");

- - - - - - - - HTML

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
  article, aside, figure, footer, header, hgroup, 
  menu, nav, section { display: block; }
</style>
</head>
<body>
  <input type="text" name="name" class="fm_bushido txt" placeholder="Name:"></input>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您正在使用变量elClass两次,并使用document.getElementsByClassName(elClass);返回的值覆盖传递给函数的值。一旦您的脚本下降到if (elClass[i].className === elClass),您就会将元素的类名与元素本身进行比较,您传递给函数的值(fm_bushido)。< / p>

只需更改其中一个元素的名称即可。