Comment faire pour obtenir l'attribut title d'un élément div?
Je suis en train d'écrire un script Greasemonkey. Il y a quelque chose comme cela dans une page web:
<div id="div1" class="..." title="
asdsadsadasd <e;...
">...</div>
Je veux obtenir son titre à l'aide de jQuery attr
méthode. Mais il renvoie une valeur vide. Mon code js est comme ceci:
$("#div1").attr("title");
J'ai essayé d'alerte dans de nombreuses façons différentes, et je suis sûr que l'élément requis est correctement sélectionné et tous les autres attributs sont beaux! Juste un renvoie une chaîne vide! ( " ) A-t-elle quelque chose à voir avec le fait d'être multiligne?
Plus de détails:
Je suis l'aide de la dernière jQuery (1.8.2) et mon navigateur est Firefox 16.0.1.
J'ai vu ce lien et il y a travaillé en! Alors peut-être que c'est parce que quelque chose d'autre. En fait je code dans un script Greasemonkey qui est en train de modifier une page web qui n'est pas le mien à modifier. Donc éditer le code HTML n'est pas possible.
OriginalL'auteur Sgn. | 2012-10-21
Vous devez vous connecter pour publier un commentaire.
La
title
est vide parce qu'il (ou plus probablement le<div>
) est ajouté via AJAX, après le script Greasemonkey incendies.Utilisation le waitForKeyElements() de l'utilitaire de à gérer ce genre de situation.
Ici est un script complet qui utilise jQuery et
waitForKeyElements
attraper titre:OriginalL'auteur Brock Adams
title
n'est pas un attribut valide pour les div, mais devrait toujours fonctionner. Si vous pouvez modifier le code html facilement, vous pouvez utiliser:JS
Assurez-vous également que vous êtes d'emballage code de
document.ready
si l'élément existe lorsque le code des incendies. Je suppose que c'est peut-être votre problèmedata-title
invoquantalert( $("#div1").data("title");
- et il y a un ')' manquant BTW. Vous pouvez ajouter autant d'attributs que vous aimez à un tag. Même s'ils ne valident pas dans certains validateurs.Je me rends compte pouvez ajouter des attributs, Voir: "il doit travailler", indépendamment de la validation. L'ont fait pendant des années. J'ai corrigé le manque"), " auparavant. OP probablement pas à l'aide d'un prêt de gestionnaire
C'est bien, parce que ça sonnait comme il n'est pas une bonne pratique 🙂 pensez Toujours que vous ne pouvez pas obtenir la valeur de
data-title
invoquant$("#div1").data("title")
...vous devez corrigerpourquoi pensez-vous que cela ne fonctionne pas? J'ai utilisé html5, l'attribut de données
data-title
qui est facile à lire pardata()
méthodePourquoi ne pas utiliser
$("#div1").attr("data-title")
? Il est de la croix-navigateur sûr ...OriginalL'auteur charlietfl
Le problème peut être lié à la version jquery.
Il est en cours d'exécution avec Jquery.1.8.2. avec succès.
J'ai essayé avec chrome et ie9.
http://jsfiddle.net/LgkhW/2/
OriginalL'auteur sinanakyazici
J'ai eu un problème similaire, mais il semble que le jquery ui bulle d'aide de la fonctionnalité à l'origine du problème. J'ai fini par ajouter un autre attribut à l'élément qui n'avait rien à voir avec jquery ui. J'ai utilisé le alt de l'élément, mais si vous utilisez déjà que vous pouvez utiliser quelque chose comme data-alt.
OriginalL'auteur Travis Heeter