如何获取我的标记<img/>所在元素的ID?

时间:2015-03-11 13:36:15

标签: javascript jquery html ajax

我想获得

的ID
<table id="table">
<th>Name</th>
<tr><td id="td1"><img id="img1"onload="getData(this)" aref and so on></td></tr>`
</table>

我需要获取该ID ..对于我的函数getData(this)

            alert($(this).parent().attr('ID'));
            alert(($(this).closest("TD").find('ID')));
            alert($idd.closest('td').attr('id'));
            alert($(this).parent().attr("id"));

尝试过这些,但没有提醒未定义警告。

我需要使函数动态化,以便它可以使用任何元素。

而不是

document.getElementById('td1').innerHTML = data;
document.getElementById('td2').innerHTML = data;

我想将变量传递给

document.getElementById(VAR).innerHTML = data

数据是一个ajax调用。

如果用JSor jquery :) thx

完成,那么它很重要

3 个答案:

答案 0 :(得分:0)

您可以使用:

$(this).attr('id'); // img1
$(this).parent('td').attr('id'); // td1
$(this).parent('td').parent('tr').parent('table').attr('id'); // table

我希望这是你的问题,因为我是法国人......

答案 1 :(得分:0)

我认为你的HTML是错误的:

http://jsfiddle.net/vryymy8p/2/

<table id="table">
    <tr>
        <th>Name</th>
    </tr>
    <tr>
        <td id="td1">
            <img id="img1" src="http://jsfiddle.net/img/logo.png" style="background:#000" />
        </td>
    </tr>
</table>

答案 2 :(得分:0)

使用JSFiddle,它很漂亮!

您有两个错误:

  • $.ready无需在功能中使用
  • 您使用getApi(this),但需要使用getApi($(this))

你必须这样做:

function getApi(idd) {
    $.ajax({
        .....
    });
}

http://jsfiddle.net/vryymy8p/24/