我有一个简单的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
不报告任何警告或错误......
答案 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');">