例如,我有一个带有“test”类的主体,我想将该类添加到另一个 div 中,我该如何使用 jQuery 来做到这一点?
谢谢
编辑:像这样的东西?
$("body.test").clone().attr("class").prependTo("div");
在寻找相同问题的解决方案时,我偶然发现了您的问题。尽管建议的解决方案有效,但您必须知道类名。
这是另一种在不知道类名的情况下执行此操作的方法。如您所想,它使用.attr()
$("#MyTargetElementId").attr("class", $("body.ToCopy").attr("class"));
但是,使用多个选择器并没有真正起作用,这是有道理的:)
如果您只想从另一个元素添加类而不删除现有类,则应该使用它:
$('.i_want_your_classes').addClass( $('.have_my_classes').attr("class") );
下面的链接可能会帮助您将类或 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') );
$('element').hasClass("test", function() {
$('element2').addClass("test");
} );
应该这样做-在语法上未经测试,但这大致就是我要做的。