0

我在 img 上调用方法 onClick 函数,我希望该图像 ID 可以进一步使用,因此如何访问该图像 ID

  con.innerHTML += '<table id="results" width="915" border="1" style="margin:-46px 0 0 -2px;"><tr><td><input id="chkbox'+j+'" type="checkbox" name="click_1" value="">&nbsp;'
        + str
        + '</td><td colspan="4" align="right"><a href="javascript:presenter.command(\'viewPdf\',{\'path\': \'/images/pdf/animal/Beef/'+j+'.pdf\'});"><img src="images/view.png" style="margin-left:250px;"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/email.png" id="'+j+'" onClick=mytest()></td></tr>'+ break_line +'<img src="images/line.png" style="margin-bottom:-47px;"></table>';

这是我要存储图像的 id 的函数,它是 j

     function mytest(){

     var ab=document.getElementById('j');

     alert("ali this is wokring fine");

    }
4

4 回答 4

3

如果您坚持使用内联事件属性,只需执行以下操作:

onClick='mytest(this)'

...它将对单击元素的引用传递给您的函数:

function mytest(clickedElement) {
    var theId = clickedElement.id;
}

然后,您可以访问相关元素的任何属性。我已经展示了如何获取id,但您可能不需要id,因为如果您已经引用了该元素,那么您显然可以直接使用它 - 鉴于它是一个 img,例如,您可以更改它src

clickedElement.src = "someotherimg.jpg";

请注意,您根本不需要getElementById()

更新:回答“如果?” 在评论中,您可以设置mytest()接收 id:

function mytest(elId) {
    var ab = document.getElementById(elId);
    // etc
}

然后你可以从一个onclick处理程序中调用它:

onclick='mytest(this.id);'

...如果 id 已知,则直接在您的代码中:

mytest('1');
mytest('2');
var someId = '3';
mytest(someId);
于 2013-04-10T09:18:52.393 回答
2

你可以做的是:

<img id="some_id" src="images/email.png" onclick="mytest(this)">

function mytest (img) {
  alert(img.id);
}
于 2013-04-10T09:24:21.950 回答
0

在 mytest 中传递 j

+ '</td><td colspan="4" align="right"><a href="javascript:presenter.command(\'viewPdf\',{\'path\': \'/images/pdf/animal/Beef/'+j+'.pdf\'});"><img src="images/view.png" style="margin-left:250px;"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="images/email.png" id="'+j+'" onClick="mytest('+j+');"></td></tr>'+ break_line +'<img src="images/line.png" style="margin-bottom:-47px;"></table>';

JS:

function mytest(id){

     var ab=document.getElementById(id);

     alert("ali this is wokring fine");

    }
于 2013-04-10T09:19:36.997 回答
0

在 Image 标签中调用如下Mytest()函数

onClick='mytest(this);'

Javascript:

function mytest(imgEle) {
   var ab=imgEle.id;
   alert("ali this is wokring fine");
}
于 2013-04-10T09:21:41.373 回答