2013-03-06 2 views
0
<ul id ="questions"> 
    <li class="question"></li> 
    <li class="question"></li> 
    <li class="question"></li> 
</ul> 

Как я могу перебирать элементы списка?Прокрутите список?

До сих пор у меня есть:

$("#questions li").each(function() { }); 

Но не повезло, какие идеи?

Я должен упомянуть, что все, кроме первого, добавляются «на лету», вот почему цикл не подбирает их?

+0

Похоже, у вас все в порядке. Вы просто должны делать все, что необходимо в этой функции. В конце концов, вы итерации, чтобы что-то сделать, а не только ради этого. –

+0

Я поставил предупреждение ('a'); в цикле, и он срабатывает только один раз, должен срабатывать 3 раза за каждый вопрос. – beans

+1

@beans Показать ваш * действительный код *, описать ваш * ожидаемый результат * и ваш * фактический * вывод. Не заставляйте людей догадываться, это никому не помогает. –

ответ

0

Что вы пытаетесь сделать, как вы итерацию по каждому элементу списка? Использование функции .each должно работать отлично. Если у вас возникла проблема с этим, хотя это может быть связано с тем, что вы вызываете функцию слишком рано, и в этом случае исправление ready function (как указано в @roXon). В противном случае, если у вас возникнут проблемы. Это может быть из-за пространства у вас есть между знаком id и = на вашем <ul>

Вот пример JQuery итерации по каждому элементу:

$('#questions li').each(function() { 
    var i = $(this).index() + 1; 
    $(this).text("List item " + i); 
}); 

Не стесняйтесь играть с ним: http://codepen.io/sdthornton/pen/gkayG

1

LIVE DEMO

Использование .ready function, делая, таким образом модификации DOM будет иметь место, как только это читать.

$(function(){ 
    $("#questions li").each(function() { 
      // DO SOMETHING 
    }); 
}); 

http://api.jquery.com/ready/

Или использовать Firebug или devTool, чтобы получить какие-либо другие возможные ошибки.

+0

готов? Да, у меня уже есть это на месте. – beans

+0

@beans, чем вы неправильно включили библиотеку jQuery. Он должен работать. –

+0

jquery lib находится в порядке – beans

0

Используйте параметры функции, чтобы получить индекс и значение каждого элемента списка:

$("#questions li").each(function(index, value) { 
    console.log(index + '' + $(value).html()); 
}); 
0

Казалось бы, что вы перебор каждого элемента списка.

Если вы меняете элементы DOM для:

<ul id ="questions"> 
    <li class="question">one</li> 
    <li class="question">two</li> 
    <li class="question">three</li> 
</ul> 

, а затем с помощью следующей JQuery кода при загрузке документа:

$(function(){ 
    $("#questions li").each(function() { 
      alert($(this).html()); //Or whatever you want to do with that item 
    }); 
}); 

Вы должны быть вывод:

  • один
  • три

Примечание: Вы можете протестировать JavaScript и JQuery в http://jsfiddle.net/

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