在变量上存储多个元素

时间:2015-12-14 09:28:38

标签: javascript

我创建了一个样式重置作为表单验证的第一部分。我必须清除两种类型的元素:输入和选择。我可以存储变量两种元素吗?因此inputs var存储输入和选择对象。

  var inputs = document.getElementsByTagName("input");
  var totalInputs= inputs .length;

  for (var i = 0; i < totalInputs; i++){
        inputs[i].removeAttribute("style");;
  }

2 个答案:

答案 0 :(得分:3)

您只能使用querySelectorAll在单个变量中存储多个元素。但不是使用getElementsByTagName

您可以在此处存储inputselect个对象,

var inputs = document.querySelectorAll("input,select");

检查此示例:

&#13;
&#13;
$(function() {
  $("button").click(function() {
    var inputs = document.querySelectorAll("input,select");
    var totalInputs = inputs.length;
    for (var i = 0; i < totalInputs; i++) {
      inputs[i].removeAttribute("style");;
    }
  })
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="text" style="background:#b6ff00" />
<select style="background:#b6ff00">
  <option>Option 1</option>
  <option>Option 2</option>
</select>
<button>Remove</button>
&#13;
&#13;
&#13;

希望这有帮助

答案 1 :(得分:0)

getElementsByTagName返回节点列表。我建议使用querySelectorAll来获取输入和选择元素。

var inputs = document.querySelectorAll("input,select"));
var totalInputs = inputs.length;

for (var i = 0; i < totalInputs; i++){
    inputs[i].removeAttribute("style");;
}