从克隆元素中删除select

Dan*_*iel 2 javascript jquery clone

我有这个js代码来添加(克隆)和删除一个元素.

$('#btnAdd1').click(function (event) {
    var num = $('.linguas').length;
    var newNum = new Number(num + 1);

    var newElem = $('#input_' + num).clone(false).prop('id', 'input_' + newNum);

    newElem.children(':text').val('');

    $('#input_' + num).after(newElem).find('#input_' + num +'> option:selected').removeAttr("selected");
    $('#btnDel1').prop('disabled', '');
    if (newNum == 4) $('#btnAdd1').prop('disabled', 'disabled');
});
Run Code Online (Sandbox Code Playgroud)

但是,我想删除select="select"从前一个元素克隆的属性.

我正在尝试这样的事情,但没有奏效:

 $('#input_' + num).after(newElem).find('#input_' + num +'> option:selected').removeAttr("selected");
Run Code Online (Sandbox Code Playgroud)

在这里演示

谢谢

Ada*_*kis 5

单独尝试:

$('option:selected', newElem).prop("selected", false);
Run Code Online (Sandbox Code Playgroud)

你的代码:

$('#input_' + num).after(newElem).find('#input_' + num +'> option:selected').removeAttr("selected");
Run Code Online (Sandbox Code Playgroud)

将克隆的选择放在原始选项之后,然后使用find原始选择搜索所选选项. find搜索孩子.克隆人select现在是原来不是孩子的兄弟姐妹.

  • @JesseB - 你确定吗?这是来自removeProp文档`注意:不要使用此方法删除本机属性,如已选中,已禁用或已选中.这将完全删除属性,一旦删除,就不能再次添加到元素.使用.prop()将这些属性设置为false (2认同)