javascript - 如何在将鼠标悬停在元素类或 id 上时调用 JavaScript?

标签 javascript title

我在一页上有 1,000 个链接。每个链接都有一个标题/注释/工具提示。所有的标题都说同样的事情,所以我可以让 javscript 为我做这件事,而不是在每一行上输入它?

之前的示例:

<div class="links">
<a href="#" title="This is a title">Tooltips</a> 
<a href="#" title="This is a title">Tooltips</a> 
<a href="#" title="This is a title">Tooltips</a> 
<a href="#" title="This is a title">Tooltips</a> 
</div>

我想要的示例:

<div class="links">
<a href="#" >Tooltips</a> 
<a href="#" >Tooltips</a> 
<a href="#" >Tooltips</a> 
<a href="#" >Tooltips</a> 
</div>

并让java脚本在鼠标悬停在“div .links a”上时显示注释

提前致谢。

最佳答案

jsFiddle Demo

var set = document.querySelectorAll(".links a");
var tip = document.createElement("div");
tip.className = "hover";
var msg = document.createElement("div");
tip.appendChild(msg);
msg.innerHTML = "Generic Hover Message";
for( var i = 0, n = set.length; i < n; i++ ){
 set[i].onmouseover = function(){
     this.parentNode.insertBefore(tip,this);
 };
 set[i].onmouseout = function(){
     tip.parentNode.removeChild(tip);
 };
}

为目标元素设置事件

使用 document.querySelectorAllMDN 的组合 并迭代分配 onmouseover eventMDN 的集合 onmousout eventMDN 每个元素。

var set = document.querySelectorAll(".links a");
for( var i = 0, n = set.length; i < n; i++ ){
 set[i].onmouseover = function(){

使用 document.createElementMDN 创建元素 工具提示

var tip = document.createElement("div");
tip.className = "hover";
var msg = document.createElement("div");
tip.appendChild(msg);
msg.innerHTML = "Generic Hover Message";

创建样式来定位工具提示

.hover{
 position: absolute;
 display:inline-block;
 width:100%;
}
.hover > div{
 top: 1.2em;
 position:absolute;
 z-index: 1;
}

使用 insertBeforeMDN 放置元素

this.parentNode.insertBefore(tip,this);

关于javascript - 如何在将鼠标悬停在元素类或 id 上时调用 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20804451/

相关文章:

python - Pandas - 散点矩阵集标题

javascript - Angular 4 Routes在 Angular 启动器中加号和尖锐符号的含义?

javascript - Angular源码中的正则表达式

python - 跨越两个(或任意数量的)子图列的 Matplotlib 标题

javascript - 如何使用 javascript 更改 &lt;title&gt; 元素?

android - 如何将 Activity 中的标题或标签居中对齐?

asp.net - 有没有人使用 ASP.net (webforms) 来动态生成 javascript 和/或 css 文件?

javascript - 加载页面时的 SlideToggle 等效项

java - 当我在当前 Activity 中按下按钮时如何更改下一个 Activity 背景

php - 正文中的标题标签 (php)