有几篇文章涉及通过JavaScript添加的on()
和DOM元素,但没有一个看到适用于我的情况。
<li class="prepend"><a href="#">x</a></li>
位于<ul>
之后,我似乎无法将事件附加到其中。
JS:
$('.categories > li a').on('click', function(event){
event.preventDefault();
if ($(this).parent().is('.more')) {
$(this).siblings('ul').prepend('<li class="back"><a href="#">< ' + $(this).html() + '</a></li>')
} else if ($(this).parent().is('.back')) {
console.log('it worked')
}
})
HTML:
<ul class="categories">
<li class="selected">
<a href="#">1 Featured</a>
</li>
<li>
<a href="#">1 Popular Genres</a>
</li>
<li class="more">
<a href="#">1 My Rooms ></a>
<ul>
<li><a href="#">2 Tristique Cras</a></li>
<li><a href="#">2 Porta Etiam ></a></li>
<li><a href="#">2 Mattis Tortor</a></li>
<li class="more">
<a href="#">2 Cras Fermentum ></a>
<ul>
<li><a href="#">3 Tristique Cras</a></li>
<li><a href="#">3 Porta Etiam</a></li>
<li><a href="#">3 Mattis Tortor</a></li>
<li><a href="#">3 Cras Fermentum</a></li>
</ul>
</li>
</ul>
</li>
</ul>
即使这个简单的事件也不会看到点击{class 1}}
的元素.back
答案 0 :(得分:0)
观看: http://jsfiddle.net/lughino/8uzgd/
为了捕获页面加载后创建的元素,您需要以这种方式调用方法:
$(document).on('click', '.categories > li a', function(event){
要了解详情,请查看documentation