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
PARUTION DE MON LIVRE SUR WPF 4PARUTION DE MON LIVRE SUR WPF 4 par odewit
La 2e édition de mon livre sur WPF sort aujourd'hui en version numérique et lundi en version papier :-)
L'ouvrage présente de façon approfondie les fonctionnalités de WPF 4 : graphisme 2D et 3D, animation, multimédia, interfaces utilisateur, databind...
Cliquez pour lire la suite de l'article par odewit EDM : COMMENT UTILISER L'HORIZONTAL ENTITY SPLITTINGEDM : COMMENT UTILISER L'HORIZONTAL ENTITY SPLITTING par Matthieu MEZIL
Une des raisons pour lesquelles j'adore l'Entity Framework est la puissance de son mapping. Beaucoup de développeurs pour ne pas dire la plus part n'en n'ont pas conscience. Pour rappel, j'ai réalisé des videos (en anglais) sur le mapping . Certains scena...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WP7DEV][REACTIVE] RENDRE LES REACTIVE EXTENSIONS PLUS STABLES[WP7DEV][REACTIVE] RENDRE LES REACTIVE EXTENSIONS PLUS STABLES par jay
Lorsque l'on développe des applications .NET, les exceptions non gérées dans des threads ont le désagréable effet de terminer le processus courant.
Dans l'exemple suivant.......(read more) ...
Cliquez pour lire la suite de l'article par jay WINDBG / SOS / PSSCOR2 : FAILED TO LOAD DATA ACCESS DLL (MSCORDACWKS)WINDBG / SOS / PSSCOR2 : FAILED TO LOAD DATA ACCESS DLL (MSCORDACWKS) par coq
Ceux d'entre nous qui analysent des dumps d'applications .NET (notamment ceux créés via WER après un crash) en dehors de l'environnement initial ont probablement tous été confrontés au moins une fois au message suivant, à la saisie d'une commande SOS ...
Cliquez pour lire la suite de l'article par coq
Logiciels
Microsoft Office (2010)MICROSOFT OFFICE (2010)Microsoft Office 2010 offre de nouveaux moyens flexibles et puissants pour optimiser votre travai... Cliquez pour télécharger Microsoft Office SeaMonkey (2.0.7)SEAMONKEY (2.0.7)Le projet SeaMonkey est issu d'un effort communautaire pour developper une application tout en un... Cliquez pour télécharger SeaMonkey Safari (5.0.2)SAFARI (5.0.2)Le navigateur d'Apple a lui aussi été mis à jour, aussi bien dans sa mouture Windows que celle po... Cliquez pour télécharger Safari Mozilla FireFox (4.0 béta 5)MOZILLA FIREFOX (4.0 BéTA 5)Firefox 4.0 béta 5
L'une des nouveautés visibles les plus attendues réside sans doute dans l'a... Cliquez pour télécharger Mozilla FireFox Mozilla Firefox (3.6.9)MOZILLA FIREFOX (3.6.9)Firefox 3.6.9 corrige les problèmes suivants :
* Introduced support for the X-FRAME-OPTION... Cliquez pour télécharger Mozilla Firefox
|