鼠标悬停的元素ID

时间:2011-05-31 10:14:38

标签: javascript html

我正在使用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?

3 个答案:

答案 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);
});