Javascript追加/删除元素

Javascript追加/删除元素,javascript,jquery,html,Javascript,Jquery,Html,我有一个问题。是否可以删除通过javascript追加添加的元素 当我尝试删除添加的跨度时,什么也没有发生 像这样: <script type="text/javascript"> $(document).ready(function(){ $('#SelectBoxData span').click(function(){ var StatusID = this.id; var StatusIDSplit = StatusID.split("

我有一个问题。是否可以删除通过javascript追加添加的
元素

当我尝试删除添加的跨度时,什么也没有发生

像这样:

<script type="text/javascript">
$(document).ready(function(){
    $('#SelectBoxData span').click(function(){
        var StatusID = this.id;
        var StatusIDSplit = StatusID.split("_");
        var StatusText = $('#SelectBoxData #' + StatusID).text();

        $("#SelectBox").append('<span id=' + StatusID + '>' + StatusText + '</span>');
        $("#SelectBoxData #" + StatusID).remove();

        InputValue = $("#StatusID").val();
        if(InputValue == ""){
            $("#StatusID").val(StatusIDSplit[1]);
        }
        else{
            $("#StatusID").val($("#StatusID").val() + ',' + StatusIDSplit[1]);
        }
    });

    $('#SelectBox span').click(function(){
                var StatusID = this.id;
        $("#SelectBox #" + StatusID).remove();
    });
});
</script>

<div id="SelectBoxBG">
    <div id="SelectBox"><div class="SelectBoxBtn"></div></div>
    <div id="SelectBoxData">
        <span id="StatusData_1">Admin</span>
        <span id="StatusData_2">Editor</span>
        <span id="StatusData_4">Test 1</span>
        <span id="StatusData_6">Test 2</span>
    </div>
    <input type="hidden" id="StatusID" />
</div>

$(文档).ready(函数(){
$('#SelectBoxData span')。单击(函数(){
var StatusID=this.id;
var StatusIDSplit=StatusID.split(“”);
var StatusText=$('#SelectBoxData.'+StatusID).text();
$(“#选择框”).append(“”+StatusText+“”);
$(“#SelectBoxData#”+StatusID.remove();
InputValue=$(“#状态ID”).val();
如果(InputValue==“”){
$(“#StatusID”).val(StatusIDSplit[1]);
}
否则{
$(“#StatusID”).val($(“#StatusID”).val()+,'+StatusIDSplit[1]);
}
});
$('#SelectBox span')。单击(函数(){
var StatusID=this.id;
$(“#选择框#”+StatusID).remove();
});
});
管理
编辑
测试1
测试2
请帮帮我


谢谢。

是的,您可以删除它们。但是,在事件处理程序存在之前,不能向它们添加
单击
事件处理程序。此代码:

$('#SelectBox span').click(function(){
    var StatusID = this.id;
    $("#SelectBox #" + StatusID).remove();
});
在运行代码时,只将
单击事件处理程序添加到
#SelectBox
中的
元素中(因此,根据您提供的HTML,零元素)。如果希望事件处理程序对动态添加的元素作出反应,则需要使用名为的技术,使用
.on()
函数:

$('#SelectBox').on('click', 'span', function() {
    $(this).remove(); // equivalent to the code you had before
});

是的,您可以删除它们。但是,在事件处理程序存在之前,不能向它们添加
单击
事件处理程序。此代码:

$('#SelectBox span').click(function(){
    var StatusID = this.id;
    $("#SelectBox #" + StatusID).remove();
});
在运行代码时,只将
单击事件处理程序添加到
#SelectBox
中的
元素中(因此,根据您提供的HTML,零元素)。如果希望事件处理程序对动态添加的元素作出反应,则需要使用名为的技术,使用
.on()
函数:

$('#SelectBox').on('click', 'span', function() {
    $(this).remove(); // equivalent to the code you had before
});

在javascript.FYI,
var StatusID=this.ID$(“#选择框#”+StatusID.remove()
将只选择本
已引用的相同元素。如果已经有了对元素的引用,则不必再次搜索它!这要简单得多:
$(This).remove()
。在javascript.FYI,
var StatusID=This.ID$(“#选择框#”+StatusID.remove()
将只选择本
已引用的相同元素。如果已经有了对元素的引用,则不必再次搜索它!这要简单得多:
$(This).remove()