删除动态创建的li标签

时间:2016-05-14 04:49:54

标签: jquery

我正在开发一个html页面,根据用户的需要动态创建文本列表。我需要让那些li可以选择,以便它们也可以被删除......我该怎么做? 我尝试使用委托功能,但它没有用 这是如何生成li的代码......

$('#post_btn').click(function() {
    // body...
    var note = $('#textArea').val();
    $('<li>').text(note).prependTo('.notes');
    $('#textArea').val('');
    $('#post_btn').addClass('disabled');
});

2 个答案:

答案 0 :(得分:3)

点击li元素切换课程并移除包含该课程的li

&#13;
&#13;
$('#post_btn').click(function() {
  var note = $('#textArea').val();
  $('<li>').text(note).prependTo('.notes');
  $('#textArea').val('');
  $('#post_btn').addClass('disabled');
});

// toggle select class while clicking on the li
$('.notes').on('click', 'li', function() {
  $(this).toggleClass('select');
});

// remove the li which have class select
$('#delete').click(function() {
  $('.notes li.select').remove();
});
&#13;
.select {
  border: 1px solid red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="notes"></ul>
<textarea id="textArea"></textarea>

<button id="post_btn">Add</button>
<button id="delete">Delete</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我认为您没有发布足够的源代码来回答这个问题。但如果是这样的话:
https://jsfiddle.net/7xarmzbt/

.btn.btn_apply {
    ...
}

然后

<ul id='ul'>

</ul>
<button onclick='al();'>
Add li
</button>
<script>
var total=-1;
function al()
{
total++;
document.getElementById('ul').innerHTML+="<li id='li"+total+"' onclick='deleteli("+total+");'>Li #"+total+"</li>";
}
function deleteli(total_2)
{
document.getElementById('li'+total_2).remove();

}
</script>

会为你效劳。在li的生成中,只需添加一个将为每个li更改的id(就像我的'total'var,这实际上不是'li'的总数,而是添加的总数的更多)。对于到达li,有一个删除函数,其中包含id,就像我的一样。如果我认为错了,请评论我的答案以获得更多帮助 JQUERY CODE EQUIVALENT

document.getElementById('ELEMENT_ID').remove();

相同
document.getElementById('ELEMENT_ID').remove();

在jquery中。