1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
// ============
// getElementsByName pour IE :
// Définition d'un getElementsByName pour IE :
// Raison: getElementsByName de IE ne trouve pas les objets dynamiques
// Testé avec IE6:ok
// cherche un élément par son nom dans le DOM
// (sort dès qu'un est trouvé !)
var listeEl=new Array();
function rechercheParNom(nomRecherche)
{
//var listeEl = new Array("select","input","option","td","tr","table");
var tab,lListe,lTab,i,j;
lListe = listeEl.length;
for (i=0; i<lListe; i++)
{
tab = document.getElementsByTagName(listeEl[i]);
lTab = tab.length;
for (j=lTab-1;j>=0; j--)
{
if (tab[j].name==nomRecherche)
return tab[j];
}
}
return null;
}
function Init_IE_getElementsByName() {
// pour optimisation: mettre les tagName dans cette liste du plus frequent au moins:
listeEl="SELECT,INPUT,OPTION,A,ABBR,ACRONYM,ADDRESS,APPLET,AREA,B,BASE,BASEFONT,BDO,BGSOUND,BIG,BLOCKQUOTE,BODY,BR,BUTTON,CAPTION,CENTER,CITE,CODE,COL,COLGROUP,COMMENT,CUSTOM,DD,DEL,DFN,DIR,DIV,DL,!DOCTYPE,DT,EM,EMBED,FIELDSET,FONT,FORM,FRAME,FRAMESET,HEAD,hn,HR,HTML Comment,HTML,I,IFRAME,IMG,INS,KBD,LABEL,LEGEND,LI,LINK,LISTING,MAP,MARQUEE,MENU,META,nextID,NOBR,OBJECT,OL,P,PLAINTEXT,PRE,Q,RT,RUBY,S,SAMP,SCRIPT,SMALL,SPAN,STRIKE,STRONG,SUB,SUP,TABLE,TBODY,TD,TEXTAREA,TFOOT,TH,THEAD,TITLE,TR,TT,U,UL,VAR,XMP".split(/[,]/);
}
if (navigator.appName == "Microsoft Internet Explorer") {
// init
Init_IE_getElementsByName();
// redef de la méthode :
document.getElementsByName = function(str) {
o=rechercheParNom(str);
if (o) {
return new Array(o);
}
return undefined;
}
}
// FIN getElementsByName========== |