无法获取元素的id

时间:2015-07-22 09:18:24

标签: jquery

我无法使用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
 }

1 个答案:

答案 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>