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

时间:2009-07-20 19:21:07

标签: jquery clone

比如说我有一个带有“test”类的正文,我想把那个类添加到另一个div中,我怎么能用jQuery做呢?

由于

编辑:这样的事情?

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

4 个答案:

答案 0 :(得分:42)

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

这是另一种不知道类名的方法。如你所想,它使用.attr()

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

使用多个选择器并不是真的有效,哪种有意义:)

答案 1 :(得分:4)

如果您只想在不删除现有类的情况下从其他元素添加类,则应使用此方法:

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

答案 2 :(得分:0)

以下链接可帮助您将class或id属性从元素复制到另一个元素。它还包含如何操作的实例。

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


以下是一些简短的例子:

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

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

如果element有多个类,请在数组中获取它们并仅复制第二个类(或任何其他类):

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') );

答案 3 :(得分:-6)

$('element').hasClass("test", function() {
 $('element2').addClass("test");
} );

应该这样做 - 语法上未经测试,但它大致是我要做的。