JSFiddle - React, Tailwind, and code Playground
HTML
<div class="box" data-tooltip="I am tooltip 1">
Lorem</div>
<div class="box" data-tooltip="I am tooltip 2">
Ipsum</div>
CSS
.box {
margin: 50px;
}
JavaScript
var Tooltip = function(selector, bcolor) {
this.targetElement = document.querySelectorAll(selector);
this.bcolor = bcolor;
if (this.bcolor == null || typeof this.bcolor !== "string") {
this.bcolor = "#333";
}
if (this.targetElement == null) {
console.log("Ooops, error!")
}
return this;
}
Tooltip.prototype.tooltip = function() {
for (var i = 0; i < this.targetElement.length; i++) {
var text = this.targetElement[i].getAttribute("data-tooltip");
this.targetElement[i].style.position = "relative";
var span = document.createElement("span");
this.targetElement[i].appendChild(span);
span.style.position = "absolute";
span.style.top = "-25px";
span.style.left = "-20px";
span.style.padding = "4px"
span.style.borderRadius = "5px";
span.style.backgroundColor = this.bcolor;
span.style.color = "#fff";
span.innerHTML = text;
}
}
var box = new Tooltip(".box", "red");
box.tooltip();