自定义鼠标经过图片提示效果问题

关于自定义鼠标经过图片提示效果问题
分别用了jQuery和原生JS两种方法
用jQuery的有效果,可是用原生JS的没有效果,控制台提示原生JS第168行错误如下图:

clipboard.png

JQuery方法写的代码

clipboard.png

alert(signWord); 弹出<div class='sign_word'>文字</div>

原生JS写的代码

clipboard.png

clipboard.png

alert(signWord); 弹出 object HTMLDIVElement

想问下原生JS应该怎么写? 为什么弹出的signWord会有不同的结果?不太懂object HTMLDIVElement的意思(>.<)菜鸟一枚 多多指教

把signWord写在onmouseover外面还是没有效果(>.<
图片描述

阅读 3.1k
2 个回答

问题出在, 你的 signWord 变量是在 onmouseover 的匿名函数里面申明的, 不存在于 onmouseout 的作用域里.


signWord.innerHTML 赋值的语句不能提到 mouseover 之外.

之所以不能移除这个节点, 我猜测是 mouseover 没有触发. 你可以这样:

signWord.parentNode && signWord.parentNode.removeChild(signWord);

JQ写的 signWord 是一个字符串 ,
js写的 signWord 是一个dom对象,
这两个是不同的。
第二个 168 行可以改成

document.body.removeChild( document.getElementsByClassName("sing_word")[0] ); 
//代码没有实际验证,应该没有问题~~
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题