2012-07-22 3 views
0

Pourquoisimple, plus de jQuery

$(this).css("z-index") + 10; 

pas ajouter 10 à la quantité? Le résultat que je reçois est 1010, alors que je m'attends à obtenir 20.

Je pensais qu'il faudrait que ce soit entre guillemets pour le faire.

Répondre

1

Vous devez convertir à un premier numéro:

+$(this).css("z-index") + 10; 

est ici le violon: http://jsfiddle.net/8pJyc/

Note:+"1" est un raccourci vers Number("1").


Si ce que vous voulez est d'augmenter réellement le z-index, utilisez plutôt:

$(this).css('z-index', '+=10'); 

est ici le violon: http://jsfiddle.net/8pJyc/1/

+0

'+ "1"' est plus comme 'Number ("1")' (même en dehors de 'parseInt()' en ne conservant que la partie entière, il "oeuvres" sur les chaînes comme '" 1xyz "', où '+' ne le fait pas). Cela dit, l'opérateur unaire plus _est_ ma méthode préférée pour convertir une chaîne en un nombre. – nnnnnn

+0

@nnnnnn - Vous avez définitivement raison. Merci d'avoir fait remarquer cela. Actualisé. –

+0

Cool. J'attendais une mise à jour pour que je puisse vous dire "+ 1". (Et peut-être que ceux qui ont été dépréciés - ce n'était pas moi - changeront d'avis.) – nnnnnn

1
parseInt($(this).css("z-index"), 10) + 10; 
+1

Veuillez spécifier la racine pour parseInt. – Francisc

+2

@Francisc: dans ce cas, il sera toujours 10 de toute façon. Mais ajouté, merci – zerkms

+0

@Francisc - Il n'y a aucun moyen que vous obteniez des zéros en tête ici, donc pas besoin de spécifier une base. –

3

utilisation parseInt() - actuellement vous concaténer une chaîne.

parseInt($(this).css("zIndex")) + 10"