Question Comment changer l'attribut de titre d'un élément à l'aide de jQuery


J'ai un élément d'entrée de formulaire et je veux changer son attribut de titre. Cela doit être facile comme tarte, mais pour une raison quelconque, je ne peux pas trouver comment faire cela. Comment cela se passe-t-il et où et comment dois-je rechercher comment faire cela?


201
2018-06-12 17:32


origine


Réponses:


Avant d'écrire du code, discutons de la différence entre les attributs et les propriétés. Les attributs sont les paramètres que vous appliquez aux éléments de votre Balisage HTML; le navigateur analyse ensuite le balisage et crée des objets DOM de différents types qui contiennent Propriétés initialisé avec les valeurs des attributs. Sur les objets DOM, comme un simple HTMLElement, vous voulez presque toujours travailler avec ses Propriétés, pas son les attributs collection.

La meilleure pratique actuelle consiste à éviter de travailler avec des attributs à moins qu'ils ne soient personnalisés ou qu'il n'y ait pas de propriété équivalente pour le compléter. Depuis title existe bel et bien en lecture / écriture propriété sur beaucoup HTMLElements, nous devrions en profiter.

Vous pouvez en savoir plus sur la différence entre les attributs et les propriétés ici ou ici.

Dans cet esprit, manipulons cela title...

Obtenir ou définir un élément title propriété sans pour autant jQuery

Depuis title est une propriété publique, vous pouvez la définir sur n'importe quel élément DOM qui la prend en charge avec du JavaScript simple:

document.getElementById('yourElementId').title = 'your new title';

La récupération est presque identique; rien de spécial ici:

var elementTitle = document.getElementById('yourElementId').title;

Ce sera le moyen le plus rapide de changer le titre si vous êtes un écrou d'optimisation, mais puisque vous vouliez que jQuery soit impliqué:

Obtenir ou définir un élément title  propriété avec jQuery (v1.6 +)

jQuery a introduit une nouvelle méthode dans la v1.6 pour obtenir et définir les propriétés. Pour définir le title propriété sur un élément, utilisez:

$('#yourElementId').prop('title', 'your new title');

Si vous souhaitez récupérer le titre, omettez le deuxième paramètre et capturez la valeur de retour:

var elementTitle = $('#yourElementId').prop('title');

Vérifiez prop() Documentation de l'API pour jQuery.

Si vous vraiment ne voulez pas utiliser les propriétés, ou vous utilisez une version de jQuery antérieure à la v1.6, alors vous devriez lire:

Obtenir ou définir un élément title  attribut avec jQuery (versions <1.6)

Vous pouvez changer le title  attribut avec le code suivant:

$('#yourElementId').attr('title', 'your new title');

Ou le récupérer avec:

var elementTitle = $('#yourElementId').attr('title');

Vérifiez attr() Documentation de l'API pour jQuery.


396
2018-06-12 17:33



Dans les boîtes de dialogue modales de jquery ui, vous devez utiliser cette construction pour une raison quelconque:

$( "#my_dialog" ).dialog( "option", "title", "my new title" );

28
2017-07-19 12:12



je crois

$("#myElement").attr("title", "new title value")

ou

$("#myElement").prop("title", "new title value")

devrait faire l'affaire ...

Je pense que vous pouvez trouver toutes les fonctions de base dans le Documents jQuery, bien que je déteste le formatage.


13
2018-06-12 17:34



Une autre option, si vous préférez, serait de récupérer l’élément DOM de l’objet jQuery et d’utiliser des accesseurs DOM standard:

$("#myElement")[0].title = "new title value";

La méthode jQuery, mentionnée par d’autres, consiste à utiliser la méthode attr (). Voir la documentation de l'API pour attr () ici.


6
2018-06-12 17:44



jqueryTitle({
    title: 'New Title'
});

pour le premier titre:

jqueryTitle('destroy');

https://github.com/ertaserdi/jQuery-Title


1
2018-04-16 12:58



Si vous créez un div et en essayant d'ajouter un title à lui.

Essayer

var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');

1
2017-11-18 07:29