rnD*_*sto 5 html javascript css jquery append
我想用jquery创建基本的删除和删除.但我有一个jquery追加问题,为什么我单击追加时无法在新的<li>上激活addClass.
当我点击<li>时,它将在<li>上添加活动类,然后我想删除<li>让类激活
任何人都可以帮助我为什么会这样
$(document).ready(function(){
var list=$('ul.appendWrap > li').length;
$('.btn_append').click(function(){
$('ul.appendWrap').append('<li>new</li>');
});
$('.btn_remove').click(function(){
$('li.active').remove();
});
$("ul.appendWrap li").click(function(){
$(this).addClass('active');
})
});Run Code Online (Sandbox Code Playgroud)
li, a {
cursor: pointer;
}
.active {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="appendWrap">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<a class="btn_append">append</a>
<a class="btn_remove">remove</a>Run Code Online (Sandbox Code Playgroud)
Mih*_*nut 10
您必须event为添加的元素使用委托dynamically.
您应该click使用.on()方法绑定事件处理程序.
事件委托允许我们将单个事件侦听器附加到父元素,该元素将为匹配选择器的所有后代触发,无论这些后代现在是存在还是将来添加.
了解更多关于event delegation 这里.
$(document).ready(function(){
var list=$('ul.appendWrap > li').length;
$('.btn_append').click(function(){
$('ul.appendWrap').append('<li>new</li>');
});
$('.btn_remove').click(function(){
$('li.active').remove();
});
$(document).on("click","ul.appendWrap li",function(){
$(this).addClass('active');
})
});Run Code Online (Sandbox Code Playgroud)
li, a {
cursor: pointer;
}
.active {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="appendWrap">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<a class="btn_append">append</a>
<a class="btn_remove">remove</a>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
595 次 |
| 最近记录: |