无法获取元素的id

时间:2015-09-09 12:14:35

标签: javascript

下面的JSFiddle是我想要完成的一个简化示例。 我的代码生成了一个。传递给div的锚元素。 我希望双击时返回其ID,但改为undefined

谁能告诉我我做错了什么?

JSFiddle

function abc() {
    var myString = "<a onclick='bcd(this);' id='1'>krokodil</a>";
    document.getElementById("output").innerHTML = myString;
}

function bcd(e) {
        alert(this.id);
}

1 个答案:

答案 0 :(得分:3)

this的值取决于您如何调用该函数。

由于您在没有显式对象(bcd)的情况下调用foo.bcd()且未处于严格模式,因此该值将等于window(在浏览器中)。

您正在阅读窗口的ID,而不是元素。

查看e变量而不是this(因为您从click事件处理程序传递了该元素)。