Page 1 sur 1

Factoriser du jQuery

Posté : 22 sept. 2013, 09:49
par juliette
Salut a tous,
je cherche a factoriser ce bout de code mais impossible, quelqu'un pourrait il me montrer SVP ?
[javascript]$('#' + id).css('top', positionFinale + 'px');
$('#' + id).css('background', '#f25126');
$('#' + id + ' a').css('color', '#181818');
[/javascript]
merci d'avance :D

Re: Factoriser du jQuery

Posté : 22 sept. 2013, 15:59
par juliette
j'ai une moitié de la réponse:
[javascript]
$('#' + id).css({
top: positionFinale + 'px',
background: '#f25126'
});

$('#' + id + ' a').css('color', '#181818');
[/javascript]
mais est il possible d'inclure aussi la dernière ligne ?

Re: Factoriser du jQuery

Posté : 22 sept. 2013, 16:11
par xTG
Il me semble qu'avec jQuery il est possible de faire cela :
[javascript]$('#' + id).css('top', positionFinale + 'px').css('background', '#f25126').css('color', '#181818');[/javascript]

Re: Factoriser du jQuery

Posté : 22 sept. 2013, 16:18
par juliette
Non, le color n'est pas pris en compte car c'est sur une balise <a> #-o

Re: Factoriser du jQuery

Posté : 23 sept. 2013, 13:10
par xTG
Tu peux regarder au niveau de la syntaxe des sélecteurs il y a un OU.
Mais cela ne va pas t'optimiser ton code, juste te permettre de tout mettre sur une ligne.
Je ne suis pas sûr que cela en vaille la chandelle. :)

Re: Factoriser du jQuery

Posté : 23 sept. 2013, 13:23
par juliette
Non, tu as raison !!!
De plus, je travail actuellement a créer mon propre framework html et compass et je cherche a rassembler un maximum de paramétrage dans un fichier variable...
Cette solution m'impose de faire des modifs au sein du fichier js ce que je ne souhaite pas...
A la place j'ai utilisé addClass(), ça ma permis de supprimer quelques lignes de codes et les mises a jour du css se font bien coté css...
C'est bien plus simple a gérer :D

Re: [RESOLU] Factoriser du jQuery

Posté : 23 sept. 2013, 21:44
par Genova
Juste pour le fun, il est possible de tout faire en une ligne :
[javascript]$('#' + id).css({
top: positionFinale + 'px',
background: '#f25126'
}).find('a').css('color', '#181818');[/javascript]

Mais perso je ferai comme proposé par Juliette, mieux vaut le faire en deux fois.

Trop de factorisation c'est mauvais, un exemple qu'on retrouve trop souvent : les ternaires dans des ternaires ;)

++

Re: [RESOLU] Factoriser du jQuery

Posté : 23 sept. 2013, 21:57
par juliette
ok, merci :D
Je test quand même pour l’expérience :wink: