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>';

これは、これにjである画像のIDを保存したい関数です

     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()以下のような関数を呼び出します

onClick='mytest(this);'

Javascript :

function mytest(imgEle) {
   var ab=imgEle.id;
   alert("ali this is wokring fine");
}
于 2013-04-10T09:21:41.373 に答える
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 に答える