0 votes

getElementsByClassName ne fonctionne pas sur les données html analysées dans greasemonkey

var xhReq = new XMLHttpRequest();
xhReq.open("GET", linksRaw, false);
xhReq.send(null);
var serverResponse = xhReq.responseText;
var tempDiv = document.createElement('div');
tempDiv.innerHTML = serverResponse.replace(/<script(.|\s)*?\/script>/g, '');
var plzWork = tempDiv.getElementsByClassName('organizationID').innerHTML;
console.log(plzWork);

La valeur de 'plzWork' :-) qui est enregistrée dans la console firebug est toujours 'undefined' alors que le code du lien est le suivant

<a class="organisationID" href="orglists.htm">Partner Organisations</a>

J'écris ce script dans les dernières versions de Greasemonkey et FF 3.6.

Merci

2voto

Hellion Points 928

Je déteste souligner ce petit détail parce que je n'ai aucune autre idée de la raison pour laquelle cela ne fonctionnerait pas, mais utilisez-vous vraiment "organizationID" avec un Z quand le nom de classe a "organisationID" avec un S ?

1voto

Amy B Points 9363

tempDiv.getElementsByClassName('organizationID')

renvoie une collection, et non un seul élément.

tempDiv.getElementsByClassName('organizationID').innerHtml

alors c'est illégal. Peut-être que vous voulez dire :

tempDiv.getElementsByClassName('organizationID')[0].innerHtml

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X