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

时间:2013-07-31 15:15:54

标签: javascript jquery

我有一个select标签,当它改变时,我正在为用户显示另一个输入,当用户多次更改select标签时,元素会相互插入,但我想在更改select标签后删除旧输入插入新的相关输入。

2 个答案:

答案 0 :(得分:1)

只需跟踪元素的引用然后......

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中删除。

答案 1 :(得分:0)

将新元素放入可选择的divspan中,并在创建新元素之前清空容器:

$('#inputContainer').empty().append('<input/>');