Comment modifier l'attribut titre d'un élément en utilisant jQuery

j'ai un élément form input et je veux changer son attribut title. Cela doit être simple comme bonjour, mais pour une raison que je ne trouve pas comment faire. Comment est-ce fait, et où et comment dois-je chercher sur la façon de faire cela?

206
demandé sur J0e3gan 2009-06-12 21:32:08

6 réponses

avant d'écrire un 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 HTML markup ; le navigateur analyse alors le markup et crée des objets DOM de différents types qui contiennent propriétés initialisés avec les valeurs des attributs. Sur les objets DOM, comme un simple HTMLElement , vous voulez presque toujours travailler avec ses propriétés , pas ses attributs collection.

la meilleure pratique actuelle est d'é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 les compléter. Depuis title existe en effet comme une lecture/écriture propriété sur de nombreux HTMLElement s, nous devrions en profiter.

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

avec ceci en tête, manipulons ce title ...

d'Obtenir ou de Définir un élément title propriété sans jQuery

puisque title est une propriété publique, vous pouvez le configurer sur n'importe quel élément DOM qui le supporte avec JavaScript simple:

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

L'extraction est presque identique; rien de spécial ici:

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

ce sera la façon la plus rapide de changer le titre si vous êtes un fou d'optimisation, mais puisque vous vouliez jQuery impliqué:

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

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

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

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

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

découvrez les prop() documentation de l'API pour jQuery.

Si vous vraiment ne veulent pas utiliser les propriétés, ou vous utilisez une version de jQuery avant v1.6, alors vous devriez lire:

d'Obtenir ou de 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 récupérez-le avec:

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

découvrez les attr() documentation de l'API pour jQuery.

408
répondu Cᴏʀʏ 2017-05-23 12:34:41

dans les dialogues modaux jquery ui vous devez utiliser cette construction pour une raison quelconque:

$( "#my_dialog" ).dialog( "option", "title", "my new title" );
28
répondu Igor L. 2014-05-23 07:15:37

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 jQuery Docs , bien que je déteste le formatage.

16
répondu womp 2016-07-20 12:15:29

une autre option, si vous préférez, serait d'obtenir L'élément DOM de l'objet jQuery et d'utiliser des accesseurs DOM standard:

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

le "jQuery way", comme mentionné par d'autres, est d'utiliser la méthode attr (). Voir la documentation de L'API pour attr () ici .

7
répondu Greg Campbell 2009-06-12 17:44:04
jqueryTitle({
    title: 'New Title'
});

pour le premier titre:

jqueryTitle('destroy');

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

2
répondu Erdi Ertaş 2015-04-16 12:58:16

si vous créez un div et essayez d'y ajouter un title .

Essayer

var myDiv= document.createElement("div");
myDiv.setAttribute('title','mytitle');
2
répondu R Singh 2018-03-06 05:24:54