11548 sujets

JavaScript, DOM et API Web HTML5

Encore moi Smiley smile

Je butte encore sur un point :
Est-il possible de faire une méthode pour n'importe quel élément.
J'ai fait une méthode getElementsByTagName pour document mais j'aimerai ne pas la limiter à document et pouvoir l'utiliser pour n'importe quel élément, comme les méthodes getElementById ou getElementsByTagName par exemple

Mon code actuel :

document.getElementsByClassName = function(className) {
	var elts = document.getElementsByTagName('*');
	var classArray = new Array();
	for (var k = 0; k < elts.length; ++k) {
		if (elts[k].getAttribute('class') && elts[k].getAttribute('class').split(' ').inArray(className)) {
			classArray.push(elts[k]);
		}
	}
	return classArray;
};


(tant que j'y suis, je vais pas ouvrir un topic pour une si petite question :
Quelqu'un se rappelle l'équivalent raccourci pour
getElementsByTagName('*') ?
Je sais qu'il existe quelque chose, mais impossible de remettre le cerveau dessus... merci Smiley cligne )
Modifié par Olivier (11 May 2005 - 20:36)
A tester (sans garantie de compatibilité navigateur), mais il faut essayer de voir dans quel mesure tu peut acceder au prototye de l'objet "HTMLElement" definie par le DOM.
Ahh, ça serait HTMLElement.prototype donc !
Je testais avec element.prototype moi Smiley ohwell

Bon, je test et te dis.
Nop... raté Smiley ohwell

Je vais farfouiller dans les specs DOM, mais j'ai du mal avec les specs W3C, c'est limite illisible.
Faudrait que je définisse
document.maMethode = function() { ... };

Et aussi
HTMLElement.maMethode = function() { ... };

Ou bien HTMLElement (ou bien un équivalent qui marcherait partout) se suffit à lui même et marchera avec document.maMethode ??
Arf un PDF...

Y a pas un smiley [ autoKill ] ???

Merci pour le ctrl+f qui marche pas... bordel, damn it !

A priori, ça serait plutôt Element pour gérer les prototype, mais ça marche pas sous IE, et sous firefox, ça fait comme si c'était document Smiley ohwell

Je désespère de trouver quelque chose qui fonctionne Smiley ohwell

Dans ces méthodes ( http://web-graphics.com/mtarchive/000832.php ) faites par des mecs qui s'y connaissent plus que moi, ils utilisent document.nomMethode = function() { ... };
Tu testes avec quel navigateur ?

Ca devrait marcher avec les navigateurs utilisant Gecko. Pour Opera, je ne sais pas, peut-être dans la dernière version ? Pour IE... ah ah ah
Modifié par Bobe (12 May 2005 - 00:35)
@ Bobe, je crois que j'ai mal testé mon truc en fait, et avec HTMLElement, ça devrait marcher.

Mais vu que IE/Opera etc bon, je préfère lacher l'affaire Smiley ohwell

J'ai mené l'enquete côté anglais aussi, et aparement il n'y a pas de solution à moins d'utiliser une fonction plutôt qu'une méthode ce que j'avais déjà testé, je trouve juste ça moins propre et moins pratique...

Fil de discussion côté anglais :
http://www.codingforums.com/showthread.php?t=58899