Accueil > > > ACCÈS À LA MÉTHODE SETATTRIBUTE('STYLE','') SOUS IE6
ACCÈS À LA MÉTHODE SETATTRIBUTE('STYLE','') SOUS IE6
Information sur la source
Description
Bonjour, Sous IE6, la méthode setAttribute('style','height:100%') n'est pas permise (merci Bill). Il faut donc passer par object.style.height = '100%'. fatigué de ce problème de compatibilité j'ai crée cette mini (riquiqui?) fonction qui me permet de ne plus me préoccuper de la version du navigateur. usage : my_div_handler = getElementById('my_div'); setAttributeStyle( 'height:100%;font-weigth:bold;line-height:16px;tex t-color:red', my_div_handler);
Source
- //////////////////////////////
- // function setAttributeStyle( string style, object_handler object)
- //
- // auteur: Nicolas LE DREFF
- // date: 13/03/2010
- //
- // cette fonction s'occupe d'appliquer à la volée un style contenu dans une chaine de caractère.
- // Sous IE6, la méthode setAttribute('style','height:100%') n'est pas permise. Il faut passer par object.style.height = '100%'.
- // usage :
- // my_div_handler = getElementById('my_div');
- // setAttributeStyle( 'height:100%;font-weigth:bold;line-height:16px;text-color:red', my_div_handler);
-
-
- function setAttributeStyle( style, object)
- {
- object.setAttribute('style',style); // d'abord on applique avec la méthode récente
- if(!object.attributes.getNamedItem('style').nodeValue) // si malgré celà, la propriété style vaut 'null'
- {
- var style_reg = new RegExp("[;]+", "g"); // on recherche les ';'
- var tableau_attributes = style.split(style_reg); // on explose le style avec l'expression régulière
- for (var i=0; i<tableau_attributes.length; i++) { //on passe en revue les != éléments
- // on retire les espace superflus
- tableau_attributes[i] = tableau_attributes[i].replace(/^\s+/g,'').replace(/\s+$/g,'');
- var attributes_reg = new RegExp("[:]+", "g"); // on recherche les ':'
- tableau_attribute_value = tableau_attributes[i].split(attributes_reg); // on explose
- attribute_name = tableau_attribute_value[0]; // le premier élément est le nom de l'attribut
- var attributes_name_reg = new RegExp("[-]+", "g"); // on recherche les '-'
- tableau_attribute_name = attribute_name.split(attributes_name_reg); // on explose
-
- if(tableau_attribute_name.length > 1) // si le tableau a plus d'1 élément, il y avait 1 '-'
- {
- // on passe en majuscule l'initiale du 2ème morceau
- initiale_attribute_name = tableau_attribute_name[1].substr(0,1).toUpperCase();
- // on remet tout dans la bonne boite
- tableau_attribute_name[1] = initiale_attribute_name + tableau_attribute_name[1].substr(1,(tableau_attribute_name[1].length -1));
- attribute_name = tableau_attribute_name.join(''); // on ré-assemble les deux morceaux
- }
- attribute_value = tableau_attribute_value[1]; // la valeur de l'attribut
- object.style[attribute_name] = attribute_value; // application de l'attribut
- }
- }
-
- }
//////////////////////////////
// function setAttributeStyle( string style, object_handler object)
//
// auteur: Nicolas LE DREFF
// date: 13/03/2010
//
// cette fonction s'occupe d'appliquer à la volée un style contenu dans une chaine de caractère.
// Sous IE6, la méthode setAttribute('style','height:100%') n'est pas permise. Il faut passer par object.style.height = '100%'.
// usage :
// my_div_handler = getElementById('my_div');
// setAttributeStyle( 'height:100%;font-weigth:bold;line-height:16px;text-color:red', my_div_handler);
function setAttributeStyle( style, object)
{
object.setAttribute('style',style); // d'abord on applique avec la méthode récente
if(!object.attributes.getNamedItem('style').nodeValue) // si malgré celà, la propriété style vaut 'null'
{
var style_reg = new RegExp("[;]+", "g"); // on recherche les ';'
var tableau_attributes = style.split(style_reg); // on explose le style avec l'expression régulière
for (var i=0; i<tableau_attributes.length; i++) { //on passe en revue les != éléments
// on retire les espace superflus
tableau_attributes[i] = tableau_attributes[i].replace(/^\s+/g,'').replace(/\s+$/g,'');
var attributes_reg = new RegExp("[:]+", "g"); // on recherche les ':'
tableau_attribute_value = tableau_attributes[i].split(attributes_reg); // on explose
attribute_name = tableau_attribute_value[0]; // le premier élément est le nom de l'attribut
var attributes_name_reg = new RegExp("[-]+", "g"); // on recherche les '-'
tableau_attribute_name = attribute_name.split(attributes_name_reg); // on explose
if(tableau_attribute_name.length > 1) // si le tableau a plus d'1 élément, il y avait 1 '-'
{
// on passe en majuscule l'initiale du 2ème morceau
initiale_attribute_name = tableau_attribute_name[1].substr(0,1).toUpperCase();
// on remet tout dans la bonne boite
tableau_attribute_name[1] = initiale_attribute_name + tableau_attribute_name[1].substr(1,(tableau_attribute_name[1].length -1));
attribute_name = tableau_attribute_name.join(''); // on ré-assemble les deux morceaux
}
attribute_value = tableau_attribute_value[1]; // la valeur de l'attribut
object.style[attribute_name] = attribute_value; // application de l'attribut
}
}
}
Conclusion
Voilà, rien de bien fantastique, mais c'est fonctionnel.
Enjoy...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Desactiver la selection d'un texte (mais pas comme tout le monde) [ par gzu51 ]
Bon alors voila j'ai un problème sur lequel je me casse les dents : Tout d'abord resumons la situation : j'ai 2 div, le premier contient du texte et e
desactiver la selection d'un texte (sans utiliser onselectstart) [ par gzu51 ]
Bonjour à tous.Bon alors voila j'ai un problème sur lequel je me casse les dents : Tout d'abord resumons la situation : j'ai 2 div, le premier contien
changement style onmouseover onmouseout - bordure tableau, Firefox et IE [ par sebortega ]
Salut, j'écris un peu désespéré. Mon but est de mettre en évidence les lignes d'un tableau en les encadrant par une bordure grise en pointillé au pas
Javascript faire un setAttribute de style avec FireFox [ par JPVIO ]
Bonjour Je cherche à modifier la couleur d'un texte au survol de la souris OK dans une cellule d'un tableau cela fonction trés bien avec IE Mais pas
FireFox setAttribute et style [ par fregolo52 ]
Bonjour,suivant un événement dans ma page, je cherche à changer le style des mes contrôles.Sous IE, aucun souci, mais sous FF j'ai une erreur.Mon code
info bulle js [ par misskis ]
Bonjour,J'ai récupéré un script "merci TeDeum" pour créer des info bulle en jsTrés sympa mais j'ai un bug sur ie.Le script :<script language="javas
javascript pour ie6 - impression [ par buckdany4 ]
Bonjour à tous,Comment rendre l'impression impossible avec ie6 , donc mettre le choix impression invisible, inactif, ou autre.. <p class="MsoNorm
aligner les images horizontalement [ par oceane751 ]
bonjour à tous avec le code qui suit, mes images defilent de façon verticale mais je voudrais que ces images défilent horizontalement voici le c
problème affichage menu déroulant dans firefox et IE6 [ par victorian77 ]
Bonjour, je suis en train de refonder un site en ajoutant un menu déroulantquand je survole une catégorie une liste d'items secondaires doit apparaîtr
fonction conflit style [ par boscomac ]
Bonjour, J'ai une fonction en javascript (avec la librairie JQuery) qui me permet lorsque je passe sur une Div d'animer la couleur du fond ainsi que
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|