15

たとえば、「test」クラスのボディがあり、そのクラスを取得して別の div に追加したい場合、jQuery でこれを行うにはどうすればよいですか?

ありがとう

編集:このようなものですか?

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

4 に答える 4

47

同じ問題の解決策を探しているときに、あなたの質問に出くわしました。提案されたソリューションは機能しますが、クラス名を知っておく必要があります。

クラス名を知らずにそれを行う別の方法を次に示します。あなたが考えたように、それは使用します.attr()

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

ただし、複数のセレクターを使用することは実際には機能していませんが、これは理にかなっています:)

于 2010-12-10T14:54:57.503 に答える
7

既存のクラスを削除せずに、別の要素からクラスを追加するだけの場合は、これを使用する必要があります。

$('.i_want_your_classes').addClass( $('.have_my_classes').attr("class") );
于 2016-11-24T17:52:17.130 に答える
0

以下のリンクは、class または id 属性を要素から別の要素にコピーするのに役立つ場合があります。それを行う方法の実例も含まれています。

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


以下にいくつかの短い例を示します。

すべてのクラスを要素から別の要素にコピーする

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

要素に複数のクラスがある場合は、それらを配列で取得し、2 番目のクラス (または他のクラス) のみをコピーします。

var getClasses = $('.someClass').attr('class');
var splitClasses = getClasses.split(' ');

$('.differentClass').addClass( splitClasses[1] );

これにより、以下の配列が得られ、配列の位置を指定することで値を出力できます。

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

要素から別の要素への ID のコピー

$('.someClass').attr( 'id', $('#someId').attr('id') );
于 2015-04-19T21:31:00.257 に答える
-6
$('element').hasClass("test", function() {
 $('element2').addClass("test");
} );

そうすべきです - 構文的にはテストされていませんが、大まかに言えば私がすることです。

于 2009-07-20T19:25:11.063 に答える