extension du prototype

Le
Niko
Bonjour,

Est-ce que quelqu'un aurait une idée de la raison pour laquelle le code
suivant fonctionne sur FF et pas sur IE ?

Object.prototype.find_Attribute_By_Name=function(attrname){
var attrname;
var x=0;
var retúlse;
var limit=this.length;
while(x<limit)
{
if (this[x].nodeName==attrname)
{
ret=this[x];
x=limit;
}
else x++;
}
return ret;
}

var val_attrÎll.attributes.find_Attribute_By_Name('name').nodeValue;

Dans ma page , j'ai un tableau HTML avec une cellule définie comme suit :

<td name="Nom_de_la_cellule" id="id_de_la_cellue">Contenu</td>

La fonction find_Attribute_By_Name('name') doit normalement me retourner
"Nom_de_la_cellule".

Merci d'avance

Niko
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
O.L.
Le #748517
Niko a pensé très fort :
Bonjour,

Est-ce que quelqu'un aurait une idée de la raison pour laquelle le code
suivant fonctionne sur FF et pas sur IE ?

Object.prototype.find_Attribute_By_Name=function(attrname){
var attrname;
var x=0;
var retúlse;
var limit=this.length;
while(x<limit)
{
if (this[x].nodeName==attrname)
{
ret=this[x];
x=limit;
}
else x++;
}
return ret;
}

var val_attrÎll.attributes.find_Attribute_By_Name('name').nodeValue;

Dans ma page , j'ai un tableau HTML avec une cellule définie comme suit :

<td name="Nom_de_la_cellule" id="id_de_la_cellue">Contenu</td>


Z'êtes sûr que nodeName est supporté par IE ? On dirait un truc trop
standard pour lui ... ;)

Sinon je suis pas sûr d'avoir compris l'exemple.
ret=this[x]; => va retourner un objet, or vous dites :
La fonction find_Attribute_By_Name('name') doit normalement me retourner
"Nom_de_la_cellule".


En plus la fonction semble devoir cumuler les résultats avec le
while(), mais là les résultats écrasent à chaque fosi les précédents,
et un seul est finalement renvoyé.

--
Olivier Ligny
www.virgal.net (Monde persistant)

Niko
Le #748282
Niko a pensé très fort :
Bonjour,

Est-ce que quelqu'un aurait une idée de la raison pour laquelle le
code suivant fonctionne sur FF et pas sur IE ?

Object.prototype.find_Attribute_By_Name=function(attrname){
var attrname;
var x=0;
var retúlse;
var limit=this.length;
while(x<limit)
{
if (this[x].nodeName==attrname)
{
ret=this[x];
x=limit;
}
else x++;
}
return ret;
}

var val_attrÎll.attributes.find_Attribute_By_Name('name').nodeValue;

Dans ma page , j'ai un tableau HTML avec une cellule définie comme suit :

<td name="Nom_de_la_cellule" id="id_de_la_cellue">Contenu</td>


Z'êtes sûr que nodeName est supporté par IE ? On dirait un truc trop
standard pour lui ... ;)


C'est sans doute une partie de l'explication mais c'est pas nodeName
qui est en cause car si je transforme le code en une fonction, elle
marche aussi sur IE
function find_Attributes_By_Name(obj, attrname){
var attrname;
var x=0;
var retúlse;
var limit=obj.length;
while(x<limit)
{
if (obj[x].nodeName==attrname)
{
ret=obj[x];
x=limit;
}
else x++;
}
return ret;
}

appelée de la sorte :

attr=find_Attributes_By_Name(cell.attributes,"name");

Sinon je suis pas sûr d'avoir compris l'exemple.
ret=this[x]; => va retourner un objet, or vous dites :
La fonction find_Attribute_By_Name('name') doit normalement me
retourner "Nom_de_la_cellule".
Effectivement, au temps pour moi, c'est bien l'objet qui est retourné



je récupère ensuite la valeur par var val = attr.nodeValue;

En plus la fonction semble devoir cumuler les résultats avec le while(),
mais là les résultats écrasent à chaque fosi les précédents, et un seul
est finalement renvoyé.



en fait non puisqu'elle s'arrête à la première occurrence trouvée grace
au x=limit qui provoque la fin de la boucle while ou retourne false dans
le cas ou aucune occurrence n'est trouvée.


Publicité
Poster une réponse
Anonyme