我需要在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的一部分,它们就没有任何区别于现有项目。
最好的方法是什么?
答案 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");
}
这表明您仍然可以操作项目的文本(或任何属性),因为您仍然可以引用该集合。