【问题标题】:Clone html element not inheriting it properties克隆 html 元素不继承它的属性
【发布时间】:2013-04-04 10:30:44
【问题描述】:

我正在克隆一个选择/组合框,但我不想克隆它的值、属性或行为,只是一个具有相同选项的空组合框。

正在发生的事情是它也在克隆值。

你能给我看一个小例子吗?

我正在使用 jQuery。

我知道您可能会询问我的代码,但是在这里展示它有点长,因为我使用的是一个适用于表格和克隆行的 3rd 方插件。

【问题讨论】:

  • 我会尝试设置一个小提琴
  • clone() 也会克隆该值,但您所要做的就是删除该值。 $(element).clone().val('')

标签: jquery html combobox clone


【解决方案1】:

您可以将克隆的select的选定值设置为原始select的值:

var selected = $(this).find(':selected').val(),
    clone = $(this).clone().appendTo('body');
$(clone).val(selected);

这是一个粗略的JSFiddle example

您可能希望在设置所选值之后调用.appendTo(),但是 ($(clone).appendTo(...);)。

编辑: 看来我可能误读了您的问题。在clone 上镀铬doesn't copy over the selected value。要取消设置该值,您只需:

$(clone).val(null);

【讨论】:

    【解决方案2】:

    你可以使用$(element).clone();

    小例子可以是:

    <div id="lol">lol</div>
    
    $(function(){
    $('#lol').append($('#lol').clone());
    });
    

    如果您只想克隆 html 标签,请执行以下操作:

    <div id="lol">lol</div>
    
        $(function(){
        $('#lol').append($('#lol').clone().html("").text(""));
        });
    

    【讨论】:

    • 是否也克隆元素的值?
    • @skdnewbie 它克隆所有,元素是一个对象,所以它完全克隆对象,值,标记所有:D
    • 是的:x 我的问题是。出于我的目的,我只想克隆没有它值的元素。这不可能?
    • @skdnewbie 你能定义value吗?你只想要元素的html标签吗?并检查我在答案中的最新示例;)
    猜你喜欢
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多