javascript - 如何访问使用 jquery insertAfter 方法创建的元素

标签 javascript jquery

我有一个选择标签,当它发生变化时,我会向用户显示另一个输入,当用户多次更改选择标签时,元素会在彼此之后插入,但我想在更改选择标签后删除旧输入,并且插入新的相关输入。

最佳答案

只需跟踪对元素的引用即可...

var element;

$("#sel").change(function () {
    var sel = $(this);
    if(element)//check if an input has already been created
        element.remove();//remove the old input from the DOM
    element = $("<input/>").val(sel.val());//create the new input and store the reference
    element.insertAfter(sel);//insert the new input to the DOM
});

$("#sel").change();

Here is a working example

因为 insertAfter 是您正在创建的元素的函数,所以您必须已经在当前代码中创建了对它的引用。因此,您只需全局存储该引用即可。然后每次更改选择时,您都可以检查引用是否有值并将其从 DOM 中删除。

关于javascript - 如何访问使用 jquery insertAfter 方法创建的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974289/

相关文章:

javascript - 在 javascript/jQuery 中加入字典列表中的元素?

jquery - 右列未获得包装器 div 的全高

javascript - 字符串的余数/模数是一个数字

javascript - ngClass 没有同时显示 2 个类

javascript - chrome 扩展选项卡事件监听器不起作用

javascript框架原型(prototype)到jquery

jquery - Css 只显示图像的中心部分

c# - 文本框上的 jquery val() 不设置 DOM 值属性

javascript - 用 Bluebird 链接递归 promise

javascript - 通过部分坐标查找 DOM 元素