J'essaye d'écrire un script greasemonkey qui n'affiche que des photos avec les tags bacon.Accès au noeud <span> en Javascript
Le site, il fonctionne sur est écrit comme ceci:
<div class="photos">
<ul>
...
<li>
<a href="photo1"> <img src="http://somesite.co/photo1.jpg" </a> <br /> <a href="tags_photo1"> <span class="tags"> bacon, delicious </span> </a>
</li>
...
</ul>
</div>
Au début, j'essayé d'utiliser DOM par acessing div puis en utilisant childNodes. Je pouvais accéder à l'img et aux deux nœuds href, mais pas au span.
Ensuite, j'ai essayé d'utiliser cela pour obtenir les étiquettes de la durée:
tagNodes=document.getElementsByClassName('tags');
Et il est revenu une collection XPCNativeWrapper dont tous les éléments ne sont pas définis.
Des idées sur la façon d'obtenir les étiquettes? Je suis assez nouveau pour javascript, donc je suis désolé si ma question est stupide.
[Modifier]
var spans, tags;
spans = document.getElementsByTagName('span');
for (var i = spans.length - 1; i >= 0; --i)
{
tags = spans[i];
alert(tags.wrappedJSObject.nodeValue);
}
retours NULL, même avec wrappedJSObject. Est-ce parce que Object.prototype ne fonctionne pas pour XPCNativeWrapper? Ou est-ce que je manque quelque chose?
2 choses: for (int i = 0; i = 0; - i) { fait. Et traves [i] renvoie [objet XPCNativeWrapper [objet HTMLImageElement]] Merci pour l'aide si –
Vcitric
Cela explique ce que XPCNativeWrapper est: https://developer.mozilla.org/en/XPCNativeWrapper Ainsi, vous devriez être en mesure de traiter un élément enveloppé dans XPCNativeWrapper comme s'il s'agissait de l'élément lui-même. La section intitulée "Going Deeper" dans cet article devrait aider aussi: http://www.oreillynet.com/pub/a/network/2005/11/01/avoid-common-greasemonkey-pitfalls.html? page = 2 –
span.innerText renvoie undefined – Vcitric