Je cherchais à faire une focntion pour attribuer un name sous IE ...
La seul façon d'y arriver étant de detruire et de remplacer je tentais de scanner les propriétés de l'ancien pour les attibuer au nouveau ..
Deux problèmes :
Le propiétés en lecture seule, comment les detecter pour les skipper ?
Le style n'a pas l'air de couloir se cloner ???
voici un essai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <script type="text/javascript"> function setName(obj,nom){ var NewObj=document.createElement('<'+obj.tagName+' name="'+nom+'" />') var NewId=obj.id; obj.id=""; NewObj.id=NewId; var Liste="" document.body.insertBefore(NewObj,obj); for (prop in obj){if (prop.toLowerCase()!="name" && prop.toLowerCase()!="id"){ document.getElementById(NewId).prop=obj[prop]; Liste+=prop+ " > " +obj[prop] + "<br />" } } document.body.removeChild(obj); document.getElementById('list').innerHTML=Liste } </script> </head> <body> <input type="text" value="test" id="foo" style='color:red'/> <input type='button' onclick="setName(document.getElementById('foo'),'dddd')" value='go'/> <input type='button' onclick="alert(document.getElementsByName('dddd').length)" value='go'/> <div id='list'></div> </body> </html>
Partager