2012-04-10 3 views
0

Quel est le problème avec?Simple Jquery appels de style Css

var hover = $('<img />').attr('src', hovers[i]).css('position', 
                 'absolute', 
                 'visibility' , 
                 'hidden'); 

pour une raison quelconque, le 'visibility' , 'hidden' n'est pas appelé? mais si je supprime le style de position, il le fait.

Qu'est-ce que je fais mal ici?

Répondre

4

La réponse est de passer un objet avec des paires de valeurs clés dans la méthode css plutôt en faisant passer des arguments supplémentaires:

var hover = $('<img />') 
    .attr('src', hovers[i]) 
    .css({ 
     position: 'absolute', 
     visibility: 'hidden' 
    }); 

Consultez la documentation ici pour « Css (carte) »: http://api.jquery.com/css/#css2

0

À partir des documents CSS, vous pouvez voir que votre syntaxe n'est pas correcte, lorsque vous définissez plusieurs attributs css utiliser:, puis virgule pour séparer, renferme également tous les attributs entre accolades, comme ceci:

var hover = $('<img />').attr('src', hovers[i]).css({'position':'absolute','visibility':'hidden'}); 
+0

Il ne suffit pas d'ajouter ... Ce que vous côlons faites vraiment est le passage d'un objet comme seul argument et les arguments sont définis à l'intérieur des accolades . Jetez un coup d'oeil à la documentation que vous avez liée, où ils expliquent .css (carte) – Prestaul

+0

@Prestaul - merci! c'est la beauté de stackoverflow –

0

Modifier à ceci:

var hover = $('<img />').attr('src', hovers[i]).css({'position': 'absolute', 'visibility': 'hidden'});