为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在事件委托里要控制li的display属性,只有第一个li有起作用,其他的li下的display不起作用

为什么在事件委托里要控制li的display属性,只有第一个li有起作用,其他的li下的display不起作用

汾汾学前端 2016-03-27 22:51:27
<ul id='ul1'>  <li><img src="images//left_meng.jpg"><p>萌主页</p><div id='hiden'></div></li> <li><img src="images//left_LOL.jpg"><p>LOL直播</p><div id='hiden'></div></li> <li><img src="images//left_dongman.jpg"><p>动漫</p><div id='hiden'></div></li> <li><img src="images//left_jingdian.jpg"><p>景点门票</p><div id='hiden'></div></li> <li><img src="images//left_haodaojia.jpg"><p>hao到家</p><div id='hiden'></div></li> </ul>window.onload=function  () { var oframe=document.getElementById('frame'); var oul=document.getElementById('ul1'); var oli=oul.getElementsByTagName('li'); oul.onmouseover=function  (ev) { var oevent=ev||window.event; var target=oevent.target||window.srcElement;        console.log(target.nodeName);        if (target.nodeName.toLowerCase()=='li'||target.nodeName.toLowerCase()=='img' ) {        var ohiden=document.getElementById('hiden');        ohiden.style.display='block';                } } oul.onmouseout=function  (ev) { var oevent=ev||window.event; var target=oevent.target||window.srcElement; if (target.nodeName.toLowerCase()=='li'||target.nodeName.toLowerCase()=='img') { var ohiden=document.getElementById('hiden'); ohiden.style.display=''; } }}
查看完整描述

1 回答

?
李晓健

TA贡献1036条经验 获得超461个赞

页面的id不可以重复,你重复了。所以就只能取到第一个了。你可以通过tagName来获取这些li,也可以通过className来获取。

查看完整回答
反对 回复 2016-03-28
  • 1 回答
  • 0 关注
  • 1510 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信