附加后的访问元素

时间:2011-05-09 12:42:21

标签: javascript jquery jquery-selectors append

我需要在JQuery追加后访问DOM元素。假设我有这个:

<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'),因为这会将double事件添加到现有项目中。一旦新项目成为DOM的一部分,它们就没有任何区别于现有项目。

最好的方法是什么?

2 个答案:

答案 0 :(得分:3)

在添加html之前创建一个jQuery集合:

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

答案 1 :(得分:1)

以下是一个有效的例子:http://jsfiddle.net/hunter/7UTA2/

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

这表明您仍然可以操作项目的文本(或任何属性),因为您仍然可以引用该集合。