Доступ к элементам после добавления

Мне нужно получить доступ к элементам DOM после добавления JQuery. Допустим, у меня есть это:

<ul id="items">
    <li class="item">one</li>
    <li class="item">two</li>
</ul>

Тогда есть Javascript:

var addItems = function(html) {
    $('#items').append(html);
    //How do I access the new items here?
}

Допустим, что HTML это:

<li class="item">three</li>
<li class="item">four</li>

Мне нужно что-то сделать с двумя новыми предметами. Это что-то включает в себя события привязки к ним. Поэтому я не могу просто использовать $ ('. Item'), потому что это добавит двойные события к существующим элементам. Как только новые элементы становятся частью DOM, в них нет ничего, что отличало бы их от существующих.

Какой лучший способ сделать это?

4 голоса | спросил Tim Scott 9 Maypm11 2011, 16:42:21

2 ответа


0

Создайте коллекцию hQml в формате jQuery перед ее добавлением:

var addItems = function(html) {
    var $items = $(html);
    $('#items').append($items);
    $items.foo();
}
ответил Tatu Ulmanen 9 Maypm11 2011, 16:47:21
0

Вот рабочий пример: http://jsfiddle.net/hunter/7UTA2/

var addItems = function(html) {
    var $html = $(html);
    $('#items').append($html);
    $html.text("test");
}

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

ответил hunter 9 Maypm11 2011, 16:47:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132