-3

是否可以使用 JavaScript 获取 HTML 正文中所有文本框的名称和 ID。如果可能,请给我一个例子或方法。

4

4 回答 4

1

你需要了解document.getElementsByTagNamefor循环

如果您想使用 jQuery,请了解元素选择器.each().prop()

于 2013-11-08T18:32:09.470 回答
0

未经测试的版本

var textboxes = document.getElementsByTagName("INPUT");
for (var i=0;i<textboxes.length;i++)
 {
    var textbox = textboxes[i];
    if (textbox.type.toLowerCase() == "text")
       {
            alert("Hurray, I found a text box. Name and Id are: " + textbox.name + ", " textbox.id);
       }
 }

或者使用 jQuery

$("input[type='text']").each(function() {
 alert("Hurray, I found a text box. Name and Id are : " + $(this).attr("name") + ", " + $(this).attr("id"));
  });
于 2013-11-08T18:38:52.207 回答
0

因此,您将获得所有必要的输入字段。对于这个演示,我将保留常规输入字段。您可以将此示例扩展为具有相同名称的单选按钮或选择框。

它将所有属性存储在对象字面量中{},并输出要演示的对象。

var arr = document.getElementsByTagName("input"),
    i = 0,
    len = arr.length,
    obj = {},
    inp,
    output = document.getElementById("output");

// store attributes name and id
for (;i<len;i++){
    inp = arr[i];
    obj[inp.id] = inp.name;
}

// output obj properties and values
for (var prop in obj){
    if (obj.hasOwnProperty(prop)){
        output.innerHTML += prop + ": " + obj[prop];
    }
}

另请注意,循环遍历类似数组的对象(属性存储)和遍历对象文字(输出)有点不同。

这是你的想法吗?

演示:http: //jsfiddle.net/tive/4JrUf/

于 2013-11-08T18:41:55.160 回答
-1

使用这个:

 $('#yourid').attr('name')


 $('#yourid').attr('id')
于 2013-11-08T18:28:09.193 回答