javascript - 如何使用 jquery 删除最后一个元素?

标签 javascript jquery html

在这里,我尝试创建一个调用板,一次最多读取 10 个数字,并将这些数字最多显示为一行中的 6 个数字。它的功能正常。我想在用户按下清除按钮时删除最后一个数字。

我使用 $("#calling-pad").last().remove(); 尝试删除最后一个号码,但它删除了全部内容并且不允许输入一个新号码。我该如何解决?

var key = 1;

$("#nine").click(function(){
    if (p === 1) {
        $("#mini-screen").css("display","none");
        $("#number-screen").css("display","block");
        if (key < 11) {
            if ((key % 7) !== 0) {
                $("#calling-pad").append("9");
                key = key + 1;
            }
            else {
                $("#calling-pad").append("<br>");
                $("#calling-pad").append("9"); 
                key = key + 1;
            }
        }    
    } 
});

$("#inner-icon-one").click(function(){
    if (p === 1) {
        $("#mini-screen").css("display","none");
        $("#number-screen").css("display","block"); 
        if (key > 1) {
            if ((key%6) !== 0) {
                $("#calling-pad").last().remove();
                key = key - 1;

                if ( key === 1) {
                    $("#number-screen").css("display","none"); 
                    $("#mini-screen").css("display","block");   
                }
            }
        }
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="calling-pad"> </span>

最佳答案

您只是将数字附加到 span 标记,并没有真正跟踪用户输入。

$("#calling-pad").last().remove();

告诉 jQuery 删除全部内容,因为您没有向 calling-pad 范围插入任何子元素。

因此,您可以使用数组来跟踪用户数量或使用计数器,如下所示。

var totalInputs = 0;

$("#insert").on("click", function() {
     totalInputs++;
     var inputText = $("#input").val();
     var id = "calling_" + totalInputs;
     $("#calling-pad").append("<span id='" + id + "'>" + inputText + "</span>");
});

$("#remove").on("click", function() {
    $("#calling_" + totalInputs).remove();
    totalInputs--;
});
span {
   display: block;  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<input type="text" id="input" /> 
<button id="insert">Insert</button>

<div id="calling-pad">
</div>

<button id="remove">Remove last element</button>

关于javascript - 如何使用 jquery 删除最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40436906/

相关文章:

javascript - 如果由于用户不存在而导致对 API 的后端 GET 请求失败,如何显示 404 页面?前后端分离

javascript - 如何将日期分配给 jquery ui datepicker?

javascript - 在初始化时全屏渲染谷歌地图

javascript - 最内层元素上的调度事件不会导致向上层元素冒泡?

javascript - 有没有人使用过 I.E.与 VPS 一起使用时缺乏网站性能?

javascript - 为什么不在Phaser中上传图像?

javascript - jQuery scroll() 事件不会传播

javascript - 添加带有其他选择标签的选择选项

html - 如何使用 CSS 使表格边框不可见

python - 如何抓取 html 中的非文本?