Je me demandais s'il était possible d'ajouter du nouveau texte à côté ou d'ajouter du texte au texte existant déjà sur l'infobulle.

Par exemple, j'ai une balise div contenant du texte d'info-bulle comme ceci;

<div id="myDiv1" class="myDiv" title="This is Tooltip">body text </div>

Comme indiqué ci-dessus, le texte de l'infobulle actuelle est: This is Tooltip

Ce que je veux faire, c'est utiliser jquery, ajouter / ajouter plus de texte à cela. Par exemple,

This is toopltip for myDiv1

J'ai essayé, mais ceux-ci ne semblent pas fonctionner et la plupart ne renvoient rien, certains retournent indéfinis, veuillez aider;

$('#myDiv1').attr("title",  $('#myDiv1').tooltip + "" + "\nSome new text to append");
$('#myDiv1').prop("tooltipText",  $('#myDiv1').tooltipText + "" + "\nSome new text to append");
$('#myDiv1').attr("data-original-title",  $('#myDiv1').tooltipText + "" + "\nSome new text to append");

Toute aide est la bienvenue :)

2
Henry 8 mars 2016 à 18:22

4 réponses

Meilleure réponse

Je ferais ça:

$('#test').attr('title', $('#test').attr('title') + '\nworld');

Voir jsfiddle.

J'ajouterais que si vous utilisez une fonction, elle vous donne l'élément actuel comme contexte qui peut être vraiment utile:

$('#test').attr('title', function() {
  console.log($(this).attr('title'));
});
1
soyuka 8 mars 2016 à 15:34

C'est tellement simple, Au début, nous devons obtenir le titre actuel de cette div. Après cela, nous devons ajouter du texte avec ce titre.

Voici l'exemple Jsfiddle

<div id="myDiv1" class="myDiv" title="This is Tooltip">body text </div>

Le code Jquery est alors:

$(document).ready(function(){
$(".myDiv").hover(function(e){
    $(this).attr('title',$(this).attr('title')+"This is new text that will be added");
 });
 })
0
Rahul Baruri 8 mars 2016 à 16:47

Essayez d'utiliser la fonction callBack de .attr() pour accomplir votre tâche,

$('#myDiv1').attr("title", function(_ , currentAttr){
  return currentAttr + "your text";
});
2
Rajaprabhu Aravindasamy 8 mars 2016 à 15:24
var currentVal = $('#myDiv1').attr('title');
$('#myDiv1').attr('title', currentVal + ' potatoe');

Violon: https://jsfiddle.net/jdz5yz6k/

0
Shuma 8 mars 2016 à 15:39