如何使用JavaScript获取元素的ID值?

239

有没有其他方法来获取DOM元素的ID?

element.getAttribute('id')
9个回答

351

是的,你可以使用.id属性来访问DOM元素,例如:

myDOMElement.id

或者,像这样:

var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
  alert(inputs[i].id);
}

4
是的,它是一个DOM元素属性,所有具体的元素都继承自基本dom元素,因此它们都有这个属性 :) - Nick Craver
24
要注意的是,myDOMElement.id也可能返回具有ID或名称为“id”的子元素。如此处所示 在这个jsfiddle中 - bhattamer

28

是的,你可以简单地说:


function getID(oObject) 
{
    var id = oObject.id;
    alert("This object's ID attribute is set to \"" + id + "\"."); 
}

看这个: ID 属性 | id 属性


21

这也可以运行:

document.getElementsByTagName('p')[0].id

(如果元素是文档中的第一个段落)


getElementsByClassName在IE9及之前的版本不被支持。 - user113716
这是一个错误。本意应该是使用 'getElementByTagName' 来处理标签。 - donohoe

6
超级简便的方法是:
  $('.CheckBxMSG').each(function () {
            var ChkBxMsgId;
            ChkBxMsgId = $(this).attr('id');
            alert(ChkBxMsgId);
        });

告诉我这是否有帮助

5
在事件处理程序中,您可以按以下方式获取id:

在事件句柄中,您可以按照以下方式获取id:

function show(btn) {
  console.log('Button id:',btn.id);
}
<button id="myButtonId" onclick="show(this)">Click me</button>


1
如bhattamer所评论:
要小心这一点,因为myDOMElement.id也可能返回一个具有'id'或'name'的子元素。
您需要检查属性"id"是否为字符串,以避免获取到子元素。
const getIdFromDomObj = function(domObj){
   const { id } = domObj;
   const isIdString = typeof id  === 'string';
   
   if(!isIdString) return;
   return id;
};

0

这个代码获取并弹出具有"id"为"ele"的元素的id。

var id = document.getElementById("ele").id;
alert("ID: " + id);

13
如果您已经知道ID,那这些行的需要是什么? - shafeeq
2
仅供说明目的。代码并不总是真实存在的。 - Graham

0
这个怎么样?

console.log(id.id)
<p id="id">


-6
是的。你可以通过调用document.getElementById来获取一个元素的ID。如果找到了,它将返回一个元素节点,否则返回null
var x = document.getElementById("elementid");   // Get the element with id="elementid"
x.style.color = "green";                        // Change the color of the element

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