ie下,id的值可以取对象以及由次带来的问题

本文深入探讨了如何通过JavaScript实现鼠标悬停事件,详细解释了其工作原理,并通过实例展示了如何利用该事件提升用户体验。重点介绍了在不同浏览器下,ID的选择与引用方式的区别及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<body>
<a id="f" style="margin-left:10px;border:1px solid;zoom:1;">我们都是好孩子</a>
<script type="text/javascript">
function mousemove( ){
e=window.event;
x=e.clientX;
y=e.clientY;

var f=document.getElementById("f"); 

// 改成f=document.getElementById("f")也即将“var”去掉就会出错 

f.style.marginLeft=x+"px";
f.style.marginTop=y+"px";
}
document.onmousemove=mousemove;
</script>

</body>

(1)

ie下,id的值可以直接取到对象。如f.style.color="red"也可以生效,但有个前提条件,就是f前面没加var,如果加了var,那它就是个普通变量。

(2)

document.getElementById("f")不能再被赋值,因为它是去返回对象,它不同于基本类型,也不同于原生对象

所以f=document.getElementById("f")相当于document.getElementById("f")=document.getElementById("f"),而前者本身是个返回值,所以不能赋值,会发生错误。

所以var f=document.getElementById("f")是可以的,因为f前面有var,所以f就不能直接取到对象(仅限 ie这么做)

(3)最好m=document.getElementById("f"),id的值和返回赋值变量的名称不一致,就不会发生类似问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值