使用JQuery

时间:2016-01-25 18:24:06

标签: javascript jquery html

我在HTML中有一个有序列表:

<ol id ="list">
</ol>

添加到使用JQuery / javascript:

$(function (){
    $("#click-me").click(function (e){
        e.preventDefault();
        i++;

        var list = $("#list");
        var name = $("#colleague-select option:selected").text();
        var remove = "<button type='button' class='remove-me'> X </button>";
        var entry = "<li>" + name + remove+ "</li>";
        entry.id = "entryid" + i;

        list.append(entry);

        return false;
    });
});

我尝试做的是允许用户通过点击相应的按钮&#34; X&#34; 来删除列表中的条目。这是我提出的代码,但它不起作用:

$(function (){
   $(".remove-me").click(function(e){

       var list = $("#list");
       var entry = e.parent(); //find parent entry of clicked "X" button
       list.remove(entry);  //remove entry from list
   });
});

任何帮助人?我是JQuery的新手,所以对你的答案代码的解释将非常感激。感谢。

3 个答案:

答案 0 :(得分:1)

您需要使用event delegation将事件绑定到动态添加的元素。

$(document).on('click', ".remove-me", function(e){
    var entry = $(this).parent(); 
    entry.remove();  //remove entry from list
});

答案 1 :(得分:0)

只需删除parent元素

即可
$(function (){
   $(document).on("click", ".remove-me", function(e){
       $(this).parent().remove(); //find parent entry of clicked "X" button
   });
});

答案 2 :(得分:0)

一种万无一失的方法是将事件添加到按钮

<button type='button' onclick='removeMe(this);' class='remove-me'> X </button>

和js

function removeMe(e)
{
   $(e).parent().remove();
}