【问题标题】:JQuery adding class to cloned elementJQuery将类添加到克隆元素
【发布时间】:2012-02-01 23:23:31
【问题描述】:

这是我的脚本:

$('.addprop').click(function() {
        $('#clone').clone().insertAfter('.addprop');
    })

我需要为正在创建的新元素添加一个类。有可能吗?

【问题讨论】:

    标签: jquery clone addclass


    【解决方案1】:

    是的,它是:

    $('.addprop').click(function() {
            $('#clone').clone().addClass('newClass').insertAfter('.addprop');
        })
    

    虽然您正在克隆一个基于其id$('#clone') 的元素,但请注意将有两个元素共享相同的id,这使得结果无效的 HTML,所以我建议:

    $('.addprop').click(function() {
            $('#clone').clone().attr('id',id += 1).addClass('newClass').insertAfter('.addprop');
        });
    

    这将有效地将数字1 添加到当前id 值的末尾。为了使这更加动态,您可能需要根据新类名的元素数量来计算它:

    $('.addprop').click(function() {
            $('#clone').clone().attr('id',id += $('.newClass').length).addClass('newClass').insertAfter('.addprop');
        });
    

    【讨论】:

      【解决方案2】:

      当然。

      .clone() 方法之后,current 元素是克隆..

      $('#clone').clone().addClass('class-name-here').insertAfter('.addprop');
      

      通知

      您将需要更改克隆的id,因为它在 DOM 中必须是唯一的,并且当您克隆该元素时,该 id 也会被克隆..

      所以最好做一些类似的事情

      $('#clone').clone().attr('id','newid').addClass('class-name-here').insertAfter('.addprop');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-22
        • 2021-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-23
        相关资源
        最近更新 更多