gpt4 book ai didi

Javascript 追加/删除元素

转载 作者:行者123 更新时间:2023-11-28 20:33:34 29 4
gpt4 key购买 nike

我有一个问题。可以删除<span>使用 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>

请帮助我。

谢谢。

最佳答案

是的,您可以删除它们。但是,您不能添加 click在它们存在之前向它们提供事件处理程序。这段代码:

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

只会添加click事件处理程序至 <span> #SelectBox 内的元素代码运行时(因此,根据您提供的 HTML,零元素)。如果您希望事件处理程序对动态添加的元素使用react,那么您需要使用一种名为 event delegation 的技术。 ,使用.on()功能:

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

关于Javascript 追加/删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15874952/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com