2010-06-25 2 views
0

У меня есть тест atribute, что я получаю значение, как этозначение атрибута

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

теперь мне нужно поставить это в цикле и получить значение, но его не работает. Это то, что я делаю

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

Все, что я получаю в окне предупреждения не определено.
Благодаря

+5

Вы используете 'ID =«строка»' более одного раза? –

+1

Я вижу здесь 3 или 4 возможных ошибки. 'i' и' I' не являются одной и той же переменной, ни одна из них не упоминается в цикле, 'mySpansCount' никогда не изменяется, поэтому цикл должен либо умереть после одного цикла, либо продолжать вечно, а значения атрибута jQuery всегда являются строками , поэтому 'x [k]' на самом деле не имеет особого смысла, если вы не ищете k-й символ строки, и я думаю, что синтаксис не работает во всех браузерах. Таким образом, я не совсем уверен, что именно вы пытаетесь сделать. – Matchu

+0

строка используется только один раз. оповещение (х [к]); должен был быть бдительным (x [i]); но все еще есть проблемы – Autolycus

ответ

1

Я предполагаю, что, возможно, вам нужно использовать .each() так:

<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> 
Смежные вопросы