使用id(JavaScript)访问元素

时间:2017-03-15 16:47:20

标签: javascript

场景:我有一个表单元素,其id =" shipping_address"

以下所有方法都有效:

var i = document.shipping_address;
var i = window.shipping_address;
var i = shipping_address;

var i = document.forms.shipping_address;
var i = windows.forms.shipping_address;
var i = forms.shipping_address:

提前谢谢!

4 个答案:

答案 0 :(得分:0)

您可以在Codepen.io上尝试所有这些,但我只会使用:

var i = document.getElementById("shipping_address");

然后根据您的需要访问all the properties listed here

答案 1 :(得分:0)

这是一个正在运行的例子:



var i = document.shipping_address;
console.log(i);
var i = window.shipping_address;
console.log(i);
var i = shipping_address;
console.log(i);
var i = document.forms.shipping_address;
console.log(i);
var i = windows.forms.shipping_address;
console.log(i);
var i = forms.shipping_address;
console.log(i);

<form id="shipping_address">
  <input type='text'/>
</form>
&#13;
&#13;
&#13;

我也创建了一个JSFiddle来帮助你。

https://jsfiddle.net/hszknwn9/1/

请注意你在最后一行中有我认为的拼写错误:var i =

forms.shipping_address:

:应该是;

我在jsFiddle

中纠正了它

答案 2 :(得分:0)

那些不起作用。

如果您尝试使用id="shipping_address"指定元素的引用,则正确的方法是:

var i = document.getElementById("shipping_address");

要访问该元素的各个字段(及其各自的内容),您需要首先访问<form>元素中的元素数组,然后迭代:

var fields = i.elements;
var responses = [];
for(var j = 0; j < fields.length; j++) {
    //perform actions on or with fields[j],
    // such as responses.push(fields[j].value);
    // which would put the value of each field
    // of the form into the responses array.
}

<form>元素是一个特殊容器,用于对单个<input>元素进行分组,每个元素都应指定其输入类型。例如,

<form id="shipping_address">
<input type="text" placeholder="Street Address/P.O. box"></input>
<input type="text" placeholder="Town/City Name"></input>
<input type="text" placeholder="State/Country Name"></input>
<input type="text" placeholder="Zip Code (if applicable)"></input>
</form>

这将创建4个输入简单文本字段,可以从中收集输入。将所有这些放在一起,我们可以创建一个函数,返回一个包含shipping_address表单元素中输入字段的所有值的数组:

function getAddress() {
    var i = document.getElementById("shipping_address");
    var fields = i.elements;
    var responses = [];
    for(var j = 0; j < fields.length; j++) {
        responses.push(fields[j].value);
    return responses;
}

从那以后,你可以按照自己的意愿处理这些数据。

还有更多输入type,我建议您阅读w3schools html form reference上的参考文档,它为大多数元素提供了可接受的文档。

希望这有帮助!

答案 3 :(得分:-1)

使用此方法通过引用元素的ID来获取元素的值:

document.getElementById('shipping_address').value;