2009-07-20 50 views
13

Nói ví dụ tôi có nội dung với lớp "test" và tôi muốn lấy lớp đó và thêm nó vào div khác, làm cách nào tôi có thể làm điều này với jQuery?Sao chép lớp từ phần tử này sang phần tử khác

Cảm ơn

Chỉnh sửa: Cái gì như thế này?

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

Bạn có muốn sao chép kiểu cho lớp đó vào div khác không? –

+0

Không, tôi muốn thêm một lớp vào cơ thể của mình và để nó tự thêm vào một phần tử cụ thể. –

Trả lời

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

nên làm điều đó - cú pháp chưa được kiểm tra, nhưng đó là khoảng những gì tôi muốn làm.

+0

Cú pháp phải giống như sau: if ($ ('element'). HasClass ("test")) { $ ('element2'). AddClass ('test'); } dường như là cấu trúc phương pháp - không bao giờ có thể nhớ cú pháp! –

35

Tôi tình cờ gặp câu hỏi của bạn trong khi tìm kiếm giải pháp cho cùng một vấn đề. Mặc dù giải pháp được đề xuất hoạt động, bạn phải biết tên lớp.

đây là một cách khác để làm điều đó mà không biết tên lớp học. Như bạn nghĩ, nó sử dụng .attr()

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

Sử dụng nhiều bộ chọn là không thực sự làm việc mặc dù, trong đó loại có ý nghĩa :)

0

Các liên kết dưới đây có thể giúp bạn sao chép lớp hoặc id thuộc tính từ một yếu tố để khác. Nó cũng chứa các ví dụ trực tiếp làm thế nào để làm điều đó.

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


Dưới đây là một số ví dụ ngắn:

Sao chép tất cả các lớp học từ một yếu tố khác

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

Nếu phần tử có nhiều lớp, nhận được chúng trong mảng và chỉ sao chép lớp thứ hai (hoặc bất kỳ lớp nào khác):

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

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

này sẽ cho kết quả trong mảng dưới đây, và bạn có thể giá trị sản lượng bằng cách cung cấp vị trí mảng:

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

Id Copy từ Elemenet để khác

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

Bạn nên sử dụng điều này nếu bạn chỉ muốn thêm các lớp học từ một phần tử khác mà không xóa các lớp hiện có:

$('.i_want_your_classes').addClass($('.have_my_classes').attr("class")); 
Các vấn đề liên quan