Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extension du prototype

2 réponses
Avatar
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=false;
var limit=this.length;
while(x<limit)
{
if (this[x].nodeName==attrname)
{
ret=this[x];
x=limit;
}
else x++;
}
return ret;
}

var val_attr=cell.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

2 réponses

Avatar
O.L.
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)

Avatar
Niko
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.