2010-06-25 8 views
0

J'ai un test de atribute que je reçois la valeur comme celui-ciattribuer une valeur

$('#row').attr("test"); 

maintenant je dois mettre cela dans une boucle et obtenir la valeur, mais sa ne fonctionne pas. Ce est ce que je fais

for(var i=0; i=mySpansCount; i++) 
{ 
var x=($('#row').attr("test")); 
alert(x[i]);  
} 

Tout ce que je reçois en zone d'alerte est définie.
Merci

+5

Utilisez-vous 'id = « ligne »' plus d'une fois? –

+1

Je peux voir environ 3 ou 4 erreurs possibles ici. 'i' et' I' ne sont pas la même variable, ni l'un ni l'autre n'est référencé dans la boucle, mySpansCount' ne change jamais, donc la boucle doit soit mourir après une boucle soit continuer éternellement, et les valeurs d'attribut jQuery sont toujours des chaînes , donc 'x [k]' n'a pas vraiment de sens, sauf si vous cherchez le kième caractère de la chaîne, et je pense que cette syntaxe ne fonctionne pas dans tous les navigateurs, de toute façon. En tant que tel, je ne suis pas vraiment sûr de ce que vous essayez de faire exactement. – Matchu

+0

ligne n'est utilisée qu'une seule fois. alerte (x [k]); était supposé être alerte (x [i]); mais ayant des problèmes – Autolycus

Répondre

1

Je devine que vous avez besoin peut-être d'utiliser .each() comme ceci:

<div id="row"> 
    <span test="start">Hi </span>there, <span test="middle">I</span> am testing this <span test="end">out</span>. 
    <div><span test="nested">Bye!</span></div> 
</div> 

<script type="text/javascript"> 
jQuery(function($) { 
    $('span', '#row').each(function() { 
     alert($(this).attr('test')); 
    }); 
}); 
</script> 
Questions connexes