我正在使用JavaScript来获取鼠标悬停时元素的id。但我没有得到它。 根据我的代码,它显示为null。
我的代码是:
function getid() {
var e = document.getElementById(this);
alert(e);
}
我正在调用该函数:
<input
style="margin: 8px 4px 4px 4px; width:142px; height:117px;"
type="image"
id="img"
src="images2.jpg"
onmouseover="getid();"
onmouseout="outmouse();"
/>
如何在鼠标悬停时获取元素ID?
答案 0 :(得分:14)
检查这个
<script>
function getid(obj) {
alert(obj.id);
}
</script>
<input
style="margin: 8px 4px 4px; width:142px; height:117px;"
type="image"
id="img"
src="images2.jpg"
onmouseover="getid(this);"
onmouseout="outmouse(this);"
/>
答案 1 :(得分:7)
内在事件属性的值是函数 body 。你拥有的是:
onmouseover = function () {
getid();
}
当您调用没有对象的函数时,它与window.thefunction()
相同。所以你打电话给window.getid()
所以this
(在getid函数内)是窗口对象。
如果你真的想使用内在事件属性(提示:don't),那么你必须明确this
是什么。
onmouseover="getid.call(this)"
然而,那么:
var e = document.getElementById(this);
...是无稽之谈,因为this
是元素,而不是元素的id。
你可以从this
获取id属性,然后使用它来查找元素,但这很简单:
var e = this;
答案 2 :(得分:2)
在jQuery中:
$(input).mouseover(function()
{
var showID = $(this).attr("ID");
alert(showID);
});