回答:
はい、dom要素の.idプロパティを使用できます。次に例を示します。
myDOMElement.id
または、次のようなもの:
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
alert(inputs[i].id);
}
myDOMElement.idは、idまたは 'id'の名前を持つ子要素も返すことができるので、これにうんざりしています。このjsfiddleで
はい、あなたは単に言うことができます:
function getID(oObject)
{
var id = oObject.id;
alert("This object's ID attribute is set to \"" + id + "\".");
}
これをチェックしてください: ID属性| idプロパティ
これも機能します:
document.getElementsByTagName('p')[0].id
(文書の最初の段落の要素の場合)
getElementsByClassNameIEではサポートされていません(IE9より前)。
イベントハンドラでは、次のようにIDを取得できます
function show(btn) {
console.log('Button id:',btn.id);
}
<button id="myButtonId" onclick="show(this)">Click me</button>
子要素を取得しないようにするには、文字列かどうかを確認する必要があります
var getIdFromDomObj = function(domObj){
var id = domObj.id;
return typeof id === 'string' ? id : false;
};
これは、「ele」というIDを持つ要素のIDを取得して警告します。
var id = document.getElementById("ele").id;
alert("ID: " + id);