如何获取父元素的ID?

时间:2017-08-29 08:38:59

标签: javascript

所以我陷入了这种棘手的局面。我有一个表示数据的变量:

row += '<td>' + c + '<button class="btn btn-success" id="' + callId + ' " onclick="handleCall()">Call</button>'  + '<button class="btn btn-danger" id="' + hangupId + ' " onclick="handleHangUp()">Hangup</button>' + '</td>' ;

后来我会把它附加到我的桌子上。现在,当我单击“呼叫”按钮时,我想要获取按钮的ID。我试过这种方式:

function handleClick() {
console.log(this);
}

但它引用了window对象。任何人都可以告诉我实现目标的方法吗?谢谢

3 个答案:

答案 0 :(得分:9)

只需将元素ID作为参数传递,以保持简单,

更改,

onclick="handleCall()"

要,

onclick="handleCall(this.id)"

this指的是用户按下的问题按钮。

然后,

function handleClick(id) {
    console.log(id);
}

最后不要使用内联事件处理程序,因为从长远来看它们很难处理,请使用addEventListener方法。

答案 1 :(得分:0)

row += '<td>' + c + '<button class="btn btn-success" id="' + callId + ' " onclick="handleCall(this)">Call</button>'  + '<button class="btn btn-danger" id="' + hangupId + ' " onclick="handleHangUp()">Hangup</button>' + '</td>' ;

function handleClick(element) {
console.log(element);
//here you will have all element properties
}

答案 2 :(得分:-1)

有两种方法可以执行此操作,您可以使用jQuery通过attr执行此操作,或者如果您想要保留香草Javascript,则可以使用.id }。

jQuery请参阅以下代码:

console.log(jQuery('element').attr('id'));

Javascript请参阅以下代码:

console.log(element.id);