如何获取当前的html选择元素ID

时间:2012-07-10 17:09:35

标签: javascript html

嗨我一直试图获取我正在循环的当前元素的id但我不确定为什么这不起作用任何帮助非常感谢!

代码:

var arr = document.getElementsByClassName("myclass");
for (i = 0; i < arr.length; i++) {
    var key = "";
    var value = "";
    if (arr[i].nodeName == "INPUT" || arr[i].nodeName == "TEXTAREA") {
        key = arr[i].name;
        value = arr[i].value;
    }
    else if (arr[i].nodeName == "SELECT" && arr[i].attr('id') == "multiple") {
        alert("worked");
        key = arr[i].name;
        value = "multi";
    }
    else if (arr[i].nodeName == "SELECT" && arr[i].attr('id') != "multiple") {
        alert("ddint work");
        key = arr[i].name;
        value = "not multi";
    }
}​

我无法从我的arr [i]位置获取id,即使它是一个元素。

3 个答案:

答案 0 :(得分:3)

arr[i]是一个元素,而不是jQuery对象。您可以使用id

直接访问arr[i].id媒体资源

答案 1 :(得分:1)

var arr = document.getElementsByClassName("myclass");
for (i = 0; i < arr.length; i++) {
    var key = "";
    var value = "";
    if (arr[i].nodeName == "INPUT" || arr[i].nodeName == "TEXTAREA") {
        value = arr[i].value;
    }
    else if (arr[i].nodeName == "SELECT" && arr[i].id == "multiple") {
        alert("worked");
        value = "multi";
    }
    else if (arr[i].nodeName == "SELECT" && arr[i].id != "multiple") {
        alert("ddint work");
        value = "not multi";
    }
    key = arr[i].name;
}​

.attr(“id”)是一个jquery函数。等效的javascript是.id

您也可以在if语句之外移动键变量赋值,因为无论if语句如何都可以分配它。

答案 2 :(得分:-1)

建议不要在节点上使用.id。使用.getAttribute。