在JavaScript中获取元素的名称属性

4

如何在JavaScript中获取元素的name属性?

HTML:

<input class="so" name="Name" value="bob"></input>
<input class="so" name="LastName" value="Feyzi"></input>
<input class="so" name="Email"></input>
<input class="so" name="Address"></input>
<input type="submit"></input>

JavaScript :

var person={};
var cars = document.querySelectorAll(".so");
for (i = 0; i < cars.length; i++) { 
  var elname = document.getElementByClassName('.so')[i].getAttribute('name');
  //var eln = document.getElementsByTagName("input")[i].getAttribute("name");
  var vala = document.querySelectorAll('.so')[i].value;
  //alert(vala);
  alert(elname);
}

运行脚本后,我希望person 对象 中包含以下数据:
person {
    Name: "bob",
    LastName: "Feyzi",
    Email: "",
    Adderss: ""
}  

JSFiddle


复数形式是 getElementsByClassName,而不是 getElementByClassName - j08691
为什么要使用document.getElementsByTagName("input"),而不是在for循环中使用cars作为引用?例如:cars[i].value - Mouser
另外,你不应该有.so,而是so。你已经指定了你正在寻找一个类。 - msfoster
3个回答

6
使用已经用querySelectorAll找到的集合,获取valuename属性的值:
var person = {}
var cars = document.querySelectorAll(".so")
for (i = 0; i < cars.length; i++) { 
  person[cars[i].name] = cars[i].value
}
console.log(person)

JSFiddle


1
因为getElementByClassName不存在(在您的脚本中也没有用处)。请使用以下方法:
 var person={};
 var cars = document.querySelectorAll(".so");
 for (i = 0; i < cars.length; i++) { 
       alert(cars[i].name)
 }

1

首先,使用 cars 变量代替每次调用 querySelectorAll。 其次,使用 addEventListener 在点击时执行代码。

示例:http://jsfiddle.net/guyavunf/3/

代码:

// HTML
<input class="so" name="Name" value="bob"></input>
<input class="so" name="LastName" value="Feyzi"></input>
<input class="so" name="Email"></input>
<input class="so" name="Address"></input>
<input class="submit" type="submit"></input>

// JS
document.querySelector('.submit').addEventListener('click', function() {
    var person={};
    var cars = document.querySelectorAll(".so");
    for (i = 0; i < cars.length; i++) { 
        var name = cars[i].name;
        var value = cars[i].value;
        alert(name + ': ' + value);
    }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接