2013-02-27 2 views
0

Я пытаюсь выполнить цикл .append(), чтобы каждый раз менять селектор с различным значением. Но я не знаю синтаксиса селектора, чтобы соответствовать моей цели. Итак, как его изменить? Спасибо! Ka HoЗацикливать .append() с селектором как переменной

<script type="text/javascript"> 
var a=3; 
for (var i=0;i<a;i++)      {       
$i.append(i); 
} 
</script> 

<div class="0"></div> // expected: display 0 
<div class="1"></div> // expected: display 1 
<div class="2"></div> // expected: display 2 
+1

'class' имена не должны быть числовые значения. Используйте префикс типа «class1». – Stefan

+0

@Stefan [Не должно быть, но может быть] (http://stackoverflow.com/questions/9210307/html-5-classnames-and-ids). – Blazemonger

ответ

1

Прежде всего числового класса и идентификаторы не поддерживаются, что много, как вы думаете.

Обновить ваш HTML, чтобы что-то вроде этого

<div class="box-0"></div> 
<div class="box-1"></div> 
<div class="box-2"></div> 

Затем вы можете использовать скрипт предоставленный тупиком в своем ответе.

var a=3; 
for (var i=0;i<a;i++) {       
    $(".box-"+i).append(i); //this is what you need 
} 
+1

Получил. Благодарю. – user2108245

2
<script type="text/javascript"> 
var a=3; 
for (var i=0;i<a;i++)      {       
$("."+i).append(i); //this is what you need 
} 
</script> 

<div class="0"></div> // expected: display 0 
<div class="1"></div> // expected: display 1 
<div class="2"></div> // expected: display 2 
+0

@ user2108245 новый вопрос должен быть размещен отдельно. – Blazemonger

3

Вы можете также использовать функцию в качестве аргумента append, может быть чище и, возможно, быстрее, в вашем случае:

$('div').append(function() { 
    return this.className; 
}); 

http://jsfiddle.net/sSVL8/

+0

его просто вопрос новичка :-) –

Смежные вопросы