Comment obtenir des “données” de l'attribut dans ie 7?
- Je utiliser les "données" de l'attribut et dans IE7 et je ne sais pas comment obtenir la valeur de celui-ci. Peut jQuery peut-être m'aider?
J'ai cette
window.event.srcElement.getAttribute('data-pk')
Bien sûr, il ne fonctionne pas.
Edit:
for (i=0; i < max; i++) {
if (typeof attachEvent == 'undefined'){
//open[i].addEventListener('click', function(e){ openSlide(e.currentTarget.getAttribute('data-pk')), false});
open[i].onclick = function(e){ openSlide(e.currentTarget.getAttribute('data-pk')), false};
} else {
open[i].attachEvent('onclick', function(){
openSlide(window.event.srcElement.getAttribute('data-pk'))}, false);
};
};
html
<div>
<img class='image' data-pk='18' src='/site_media/media/img/120x180.jpg'>
<img class='image' data-pk='13' src='/site_media/media/img/007b-300x224.jpg'>
<img class='image' data-pk='15' src='/site_media/media/img/IMG_0549_1.jpg'>
</div>
quel événement est ce qui est appelé dans?
Est-ce de travailler dans d'autres navigateurs?
il est appelé sur clic. J'ai édité ma question.
oui, il est.
Est-ce de travailler dans d'autres navigateurs?
il est appelé sur clic. J'ai édité ma question.
oui, il est.
OriginalL'auteur I159 | 2011-09-09
Vous devez vous connecter pour publier un commentaire.
jQuery peut aider ... l'attribut de données fonctionne avec la fonction data() en jQuery.
Vous pouvez l'utiliser avec toutes les données d'attribut, par exemple, si vous avez eu:
Vous pouvez obtenir les données par:
De mettre des données:
Voici un lien vers jQuery .de données()
EDIT:
Je pense que vous voulez:
open[i].attachEvent('onclick', function(){ openSlide($(this.srcElement).data('pk'))}, false);
Et il n'est pas défini. HTML est ok, les données-pk existe. Ne peut pas obtenir ce que je fait de mal.Utilisation
$(this).data('pk')
exactement ce que je cherchais, +1
Dans l'exemple, devrait-il être
$('#DivId').data('something');
?Désolé ... fixe le manque des guillemets autour des noms d'élément de données
OriginalL'auteur Martin
Haut réponse est obsolète. Compte tenu de l'exemple
<div id="DivId" data-somethingElse="bar"></div>
, vous aurez à faire$('#DivId').data('somethingelse')
pour obtenir les données. La meilleure façon standard est d'utiliser serpent de cas en HTML, ce qui engendrera des camelcase en JavaScript:HTML:
JS:
OriginalL'auteur Ezekiel Victor
Vous pouvez utiliser jQuerys (ou d'autres libs) attr de lecture. Ou vous pouvez regarder dans jQuery source et savoir comment ils ont obtenu de la croix-navigateur de cohérence.
OriginalL'auteur Adam Jurczyk
En jQuery, vous pouvez utiliser la méthode de données, comme ceci:
Notez que la chaîne à passer dans les données est tout 'pk', il vous suffit de déposer les 'données' de l'attribut.
OriginalL'auteur nikmd23