如果直接是在<a href=”main.htm”>超链接的文本</a>的情况下很简单可以实现,只要判断srcElement.href 是否存在即可。但是如果页面内存在超链接的文本不是直接在<a></a>之内,而是嵌套了几层该怎么办呢?
例如
<a href=”main.htm”><font color="#CC0000"><strong>最里层文本</strong>次外层文本</font></a>
这时如果鼠标在“最里层文本“时,使用srcElement.href 就会为空,会认为“最里层文本“没有超链接。但是如果使用鼠标点击它,页面就会跳转。
例如
<a href=”main.htm”><font color="#CC0000"><strong>最里层文本</strong>次外层文本</font></a>
这时如果鼠标在“最里层文本“时,使用srcElement.href 就会为空,会认为“最里层文本“没有超链接。但是如果使用鼠标点击它,页面就会跳转。
function getLink(obj){
while(obj!=null && obj.tagName!="A" ){
obj=obj.parentNode;
}
if(obj!=null)alert(obj.href);
}
</script><a href="main.htm" onmouseover="getLink(this)"><font color="#CC0000"><strong>最里层文本</strong>次外层文本</font></a>
有没有更好的方法呢?例如使用document.body.A::onMouseover之类的。只是这个document.body.A是不存在的。
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function check(obj){
alert(obj.href);
}
//-->
</SCRIPT>
</HEAD><BODY>
<a href="main.htm" onmouseover=check(this)><font color="#CC0000"><strong>最里层文本</strong>次外层文本</font></a>
</BODY>
</HTML>