How can I display a tooltip message on hover using jQuery?

Jquery

Jquery Problem Overview


As the title states, how can I display a tooltip message on hover using jQuery?

Jquery Solutions


Solution 1 - Jquery

Tooltip plugin might be too heavyweight for what you need. Simply set the 'title' attribute with the text you desire to show in your tooltip.

$("#yourElement").attr('title', 'This is the hover-over text');

Solution 2 - Jquery

I suggest qTip.

Solution 3 - Jquery

Following will work like a charm (assuming you have div/span/table/tr/td/etc with "id"="myId")

    $("#myId").hover(function() {
	    $(this).css('cursor','pointer').attr('title', 'This is a hover text.');
	}, function() {
	    $(this).css('cursor','auto');
	});

As a complimentary, .css('cursor','pointer') will change the mouse pointer on hover.

Solution 4 - Jquery

take a look at the jQuery Tooltip plugin. You can pass in an options object for different options.

There are also other alternative tooltip plugins available, of which a few are

Take look at the demos and documentation and please update your question if you have specific questions about how to use them in your code.

Solution 5 - Jquery

You can use bootstrap tooltip. Do not forget to initialize it.

<span class="tooltip-r" data-toggle="tooltip" data-placement="left" title="Explanation">
inside span
</span>

Will be shown text Explanation on the left side.

and run it with js:

$('.tooltip-r').tooltip();

Solution 6 - Jquery

As recommended qTip and other projects are quite old I recommend using qTip2 as it is most up-to-date.

Solution 7 - Jquery

As mentioned in most of the answers the uses of plugins would be heavy compared with the requirements here. which is why here's another solution to get the required output just with simple HTML, CSS & JQuery code.

using CSS will give us a better view, check the code below

$(".tool-tip").attr('title-new', 'another example to display the hover-over texts');

button {
    background: aqua;
    padding:10px;
  }	
  .tool-tip[title-new]:hover:after {
	  content: attr(title-new);
	  position: absolute;
	  border: #c0c0c0 1px dotted;
	  padding: 10px;
	  display: block;
	  z-index: 100;
	  background-color: #000000;
	  color: #ffffff;
	  max-width: 200px;
	  text-decoration: none;
	  text-align:center;
	}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>hover on the button below to check the results</p>
<button class="tool-tip">Here I am</button>

Solution 8 - Jquery

Take a look at ToolTipster

  • easy to use
  • flexible
  • pretty lightweight, compared to some other tooltip plugins (39kB)
  • looks better, without additional styling
  • has a good set of predefined themes

Solution 9 - Jquery

You can do it using just css without using any jQiuery.

<a class="tooltips">
	Hover Me
	<span>My Tooltip Text</span>
</a>
<style>
	a.tooltips {
		position: relative;
		display: inline;
	}

		a.tooltips span {
			position: absolute;
			width: 200px;
			color: #FFFFFF;
			background: #000000;
			height: 30px;
			line-height: 30px;
			text-align: center;
			visibility: hidden;
			border-radius: 6px;
		}

			a.tooltips span:after {
				content: '';
				position: absolute;
				top: 100%;
				left: 35%;
				margin-left: -8px;
				width: 0;
				height: 0;
				border-top: 8px solid #000000;
				border-right: 8px solid transparent;
				border-left: 8px solid transparent;
			}

	a:hover.tooltips span {
		visibility: visible;
		opacity: 0.8;
		bottom: 30px;
		left: 50%;
		margin-left: -76px;
		z-index: 999;
	}
</style>

Solution 10 - Jquery

For Latest/Up to date solution you may try Tippy.js it's the complete tooltip, popover, dropdown, and menu solution for the web, powered by Popper.

Tippy.js

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSenthil Kumar BhaskaranView Question on Stackoverflow
Solution 1 - JquerypsychotikView Answer on Stackoverflow
Solution 2 - JqueryandreialecuView Answer on Stackoverflow
Solution 3 - Jquerybeing_etherealView Answer on Stackoverflow
Solution 4 - JqueryRuss CamView Answer on Stackoverflow
Solution 5 - JqueryBlackView Answer on Stackoverflow
Solution 6 - JqueryberniView Answer on Stackoverflow
Solution 7 - Jquerygroovy_guyView Answer on Stackoverflow
Solution 8 - JquerypixparkerView Answer on Stackoverflow
Solution 9 - JqueryNalan MadheswaranView Answer on Stackoverflow
Solution 10 - JqueryHamza AliView Answer on Stackoverflow