0

単純なJavaScript関数があり、関数を開始するために使用した要素のIDを取得しようとしています。私の要素は単純DIVです:

<script type="text/javascript" >
    function updateProduct(prod_id,old_q){
        alert(jQuery(this).attr('id'));
    }   
</script>

<div id="button_container" style="float:left; margin-right:7px; margin-top:3px;  width:59px; height:20px; cursor:pointer;" onClick="updateProduct('19','3060');">

このページには他のHTML要素があります(もちろん)が、これは今のところテストボタンであり、他の要素は私がここで呼んでいるのと同じテストIDを持っていませんbutton_container。また、Scriptあなたが見るように、私は独立しています。それは長いものScriptなどの一部ではありません。私は超単純なものを見逃していますか?アラートは「未定義」を返しConsole、警告やエラーを報告しません...

4

2 に答える 2

2

関数内はthisグローバルオブジェクトwindowです。

関数に渡す必要があります。

function updateProduct(prod_id,old_q, element){
    alert(element.id);
}   

<div id="button_container"  onClick="updateProduct('19','3060', this);">
于 2013-01-31T01:58:23.047 に答える
0

要素オブジェクトを渡す必要があります。

<script type="text/javascript" >
    function updateProduct(obj, prod_id,old_q){
      alert(jQuery(obj).attr('id'));
     }   
</script>
<div id="button_container" style="float:left; margin-right:7px; margin-top:3px;  width:59px; height:20px; cursor:pointer;" onClick="updateProduct(this, '19','3060');">
于 2013-01-31T02:00:34.797 に答える