gpt4 book ai didi

javascript - JQuery 动态删除按钮

转载 作者:行者123 更新时间:2023-11-28 18:23:02 24 4
gpt4 key购买 nike

我正在添加基于数组的按钮。我遇到的问题是,每次我向数组添加另一个名称时,它都会打印出所有按钮,而不仅仅是我添加的按钮。我想知道在添加按钮数组之前如何删除所有旧按钮。

这是我的代码

        socket.on('usernames', function(data){
console.log(data);
for(i=0; i <data.length; i++){
// html += data[i] + "<br/>";
$input = $('<input type="button"/></br>');
$input.val(data[i]);
$input.appendTo($("#contentWrap"));
}
// $users.html(html);
});

下面是一张图片。 Test 是第一个按钮的名称,每次我添加新按钮时,它都会再次打印整个数组。有没有办法删除旧按钮? enter image description here

最佳答案

在循环之前使用 empty() 方法:

socket.on('usernames', function(data){
var $contentWrap = $("#contentWrap").empty();

for (i = 0; i < data.length; i++) {
$input = $('<input type="button"/></br>');
$input.val(data[i]);
$input.appendTo($contentWrap);
}
});

另请注意,您可以通过创建单个 HTML 字符串并将 html() 属性设置为仅需要一次 DOM 调用来提高性能并整理代码。试试这个:

socket.on('usernames', function(data){
var html = data.map(function(value) {
return '<input type="button" value="' + value + '"/></br>'
}).join('');
$('#contentWrap').html(html);
});

关于javascript - JQuery 动态删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39643536/

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