如何在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: ""
}
答案 0 :(得分:5)
使用您在querySelectorAll
找到的收藏集来获取value
和name
属性的值:
var person = {}
var cars = document.querySelectorAll(".so")
for (i = 0; i < cars.length; i++) {
person[cars[i].name] = cars[i].value
}
console.log(person)
答案 1 :(得分:1)
因为getElementByClassName不存在(也不会在你的脚本中使用)。使用此:
var person={};
var cars = document.querySelectorAll(".so");
for (i = 0; i < cars.length; i++) {
alert(cars[i].name)
}
答案 2 :(得分: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);
}
});