简单的Javascript函数返回未定义的值

时间:2013-01-31 01:55:34

标签: javascript function onclick

我有一个简单的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元素(当然),但现在这是一个测试按钮,没有其他元素具有我在此处称为button_container的相同测试ID。我的Script就像你看到的一样独立。它不是更长Script等的一部分。我错过了一些超级简单的东西吗?警报返回“未定义”,Console不报告任何警告或错误......

2 个答案:

答案 0 :(得分:2)

您函数中的this是全局对象window

您需要将其传递给函数。

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

<div id="button_container"  onClick="updateProduct('19','3060', this);">

答案 1 :(得分: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');">