【问题标题】:Copy class from one element to another将类从一个元素复制到另一个元素
【发布时间】:2010-11-12 10:16:29
【问题描述】:

例如,我有一个带有“test”类的主体,我想将该类添加到另一个 div 中,我该如何使用 jQuery 来做到这一点?

谢谢

编辑:像这样?

 $("body.test").clone().attr("class").prependTo("div");

【问题讨论】:

  • 您的意思是要将那个类的样式复制到另一个 div 吗?
  • 不,我想在我的正文中添加一个类并将其附加到特定元素。

标签: jquery clone


【解决方案1】:
$('element').hasClass("test", function() {
 $('element2').addClass("test");
} );

应该这样做 - 在语法上未经测试,但我大致会这样做。

【讨论】:

  • 语法上应该是这样的: if ( $('element').hasClass("test") ) { $('element2').addClass('test'); } 似乎是方法结构 - 永远记不住语法!
【解决方案2】:

我在寻找相同问题的解决方案时偶然发现了您的问题。虽然建议的解决方案有效,但您必须知道类名。

这是另一种在不知道类名的情况下执行此操作的方法。如您所想,它使用.attr()

 $("#MyTargetElementId").attr("class", $("body.ToCopy").attr("class"));

使用多个选择器并没有真正起作用,这是有道理的:)

【讨论】:

    【解决方案3】:

    下面的链接可能会帮助您将类或 id 属性从一个元素复制到另一个元素。它还包含如何执行此操作的实时示例。

    http://html-tuts.com/copy-class-id-to-another-html-element-with-jquery/


    以下是一些简短的示例:

    将所有类从一个元素复制到另一个元素

    $('.differentClass').addClass( $('.anotherClass').attr('class') );
    

    如果元素有多个类,则将它们放入数组并仅复制第二个类(或任何其他类):

    var getClasses = $('.someClass').attr('class');
    var splitClasses = getClasses.split(' ');
    
    $('.differentClass').addClass( splitClasses[1] );
    

    这将导致下面的数组,您可以通过提供数组位置来输出值:

    splitClasses[0] => 'firstClass'
    splitClasses[1] => 'secondClass'
    splitClasses[2] => 'thirdClass'
    

    将 ID 从 Elemenet 复制到另一个

    $('.someClass').attr( 'id', $('#someId').attr('id') );
    

    【讨论】:

      【解决方案4】:

      如果您只想从另一个元素添加类而不删除现有类,则应该使用它:

      $('.i_want_your_classes').addClass( $('.have_my_classes').attr("class") );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-28
        • 2012-09-27
        • 2011-01-21
        • 2020-11-06
        • 1970-01-01
        相关资源
        最近更新 更多