我无法使用this
获取被点击元素的ID,因为它返回'undefined'。我也无法将任何参数传递给函数。
我在这里缺少什么?如果我使用class
名称而不是将该元素指向$(this)
,我可以获得第一个项目的ID,但如果我使用$(this)指向它则不起作用。
if(data && data[0].type) {
var parameter="type";
typeMsg +="Car Type : ";
typeMsg +="<table>";
$.each(data[0].type , function( index, value ){
console.log(value);
typeMsg +="<tr><td>"+ value +"</td><td class='text-center'><a href='#' id='"+value+"' onclick='deleteThis(parameter)' class='delete'><img src='../img/cross.png'></a></td></tr>";
});
typeMsg +="</table>";
}
function deleteThis(param) {
console.log(param); //outputs nothing
var deleteId = $(this).attr("id");
console.log(deleteId); //says undefined
}
答案 0 :(得分:2)
而不是带this
的参数发送onclick
,它会为您提供当前元素,然后您可以获得相同的ID
function deleteThis(param,text) {
alert(text);
var deleteId = $(param).attr("id");
alert(deleteId)
console.log(deleteId);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href='#' id='qwe' onclick="deleteThis(this,'tushar')">click</a>