如何找到被点击的按钮的 id?
<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>
function reply_click()
{
}
如何找到被点击的按钮的 id?
<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>
function reply_click()
{
}
您需要将 ID 作为函数参数发送。像这样做:
<button id="1" onClick="reply_click(this.id)">B1</button>
<button id="2" onClick="reply_click(this.id)">B2</button>
<button id="3" onClick="reply_click(this.id)">B3</button>
<script type="text/javascript">
function reply_click(clicked_id)
{
alert(clicked_id);
}
</script>
这将发送IDthis.id
作为clicked_id
您可以在您的函数中使用。在这里查看它的实际效果。
一般来说,如果将代码和标记分开,事情会更容易组织起来。定义所有元素,然后在 JavaScript 部分中定义应对这些元素执行的各种操作。
当事件处理程序被调用时,它在被点击的元素的上下文中被调用。因此,this的标识符将引用您单击的 DOM 元素。然后,您可以通过该标识符访问元素的属性。
例如:
<button id="1">Button 1</button>
<button id="2">Button 2</button>
<button id="3">Button 3</button>
<script type="text/javascript">
var reply_click = function()
{
alert("Button clicked, id "+this.id+", text"+this.innerHTML);
}
document.getElementById('1').onclick = reply_click;
document.getElementById('2').onclick = reply_click;
document.getElementById('3').onclick = reply_click;
</script>
使用纯 JAVASCRIPT:我知道现在已经晚了,但可能对未来的人有帮助:
在 HTML 部分:
<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>
在 Javascipt 控制器中:
function reply_click()
{
alert(event.srcElement.id);
}
这样我们就不必在调用 javascript 函数时绑定 Element 的 'id'。
(我认为该id
属性需要以字母开头。可能是错误的。)
你可以去事件委托...
<div onClick="reply_click()">
<button id="1"></button>
<button id="2"></button>
<button id="3"></button>
</div>
function reply_click(e) {
e = e || window.event;
e = e.target || e.srcElement;
if (e.nodeName === 'BUTTON') {
alert(e.id);
}
}
...但这需要您对古怪的事件模型相对适应。
<button id="1" onClick="reply_click(this)"></button>
<button id="2" onClick="reply_click(this)"></button>
<button id="3" onClick="reply_click(this)"></button>
function reply_click(obj)
{
var id = obj.id;
}