2009-10-08 26 views

Trả lời

102

Chỉ cần có được thuộc tính lớp:

var div1Class = $('#div1').attr('class'); 

Ví dụ

<div id="div1" class="accordion accordion_active"> 

Để kiểm tra div trên cho các lớp chứa trong nó

var a = ("#div1").attr('class'); 
console.log(a); 

console đầu ra

accordion accordion_active 
+0

thực sự là một thuộc tính? 'className' ..? Không phải 'className' chỉ được sử dụng cho javascript? 'document.getElementById (" div1 "). className' – peirix

+2

Bây giờ thấy rằng theo tài liệu jQuery nó được đề xuất sử dụng' className' để nó sẽ không can thiệp vào từ dành riêng 'class' trong javascript ... – peirix

+2

** NOTE : ** Trong jQuery 1.6, họ * cuối cùng * đã sửa phương thức 'attr', và bây giờ bạn sẽ sử dụng' $ (...). Attr ('class'); ',' className' chỉ là một thuộc tính accessor mà ánh xạ đối với thuộc tính 'class' trên phần tử DOM - không có thuộc tính' className', nó chỉ là thuộc tính-. – CMS

2
$("#div1").attr("class") 
11
$('#div1').attr('class') 

sẽ trả về một chuỗi các lớp. Biến nó thành một loạt các tên lớp

var classNames = $('#div1').attr('class').split(' '); 
+2

+1. ($ ('# div1') attr ('class') || '') .split ('') là an toàn hơn. – user420667

0

thử này

$ ("# div1"). Attr ("class")

16

Đơn giản chỉ cần bằng cách

var divClass = $("#div1").attr("class") 

Bạn có thể thực hiện một số nội dung khác để thao túng lớp học của nguyên tố

$("#div1").addClass("foo"); // add class 'foo' to div1 
$("#div1").removeClass("foo"); // remove class 'foo' from div1 
$("#div1").toggleClass("foo"); // toggle class 'foo' 
1
var className=$('selector').attr('class'); 

hoặc

var className=$(this).attr('class'); 

classname của phần tử hiện tại

7

Từ giờ trở đi là tốt hơn để sử dụng .prop() chức năng thay vì .attr() một.

Đây là tài liệu hướng dẫn jQuery:

Tính đến jQuery 1.6, phương pháp .attr() trả về undefined cho các thuộc tính chưa được thiết lập. Ngoài ra, .attr() không nên được sử dụng trên đối tượng thuần túy, mảng, cửa sổ hoặc tài liệu. Để truy xuất và thay đổi thuộc tính DOM, hãy sử dụng phương thức .prop().

var div1Class = $('#div1').prop('class'); 
1

Phương pháp addClass trong jQuery có một currentClass xây dựng trong. Bạn có thể sử dụng nó bên trong một lời gọi hàm.Cũng giống như vậy:

<div>First div</div> 
<div class="red">Second div</div> 
<div>Third div</div> 
<div>Fourth div</div> 

<script> 
    $("div").addClass(function(index, currentClass) { 
    var addedClass; 
    if (currentClass === "red") { 
     addedClass = "green"; } 
    return addedClass; 
    }); 
</script> 
0
<div id="my_id" class="my_class"></div> 

nếu đó là div đầu tiên sau đó giải quyết nó như vậy:

document.write("div CSS class: " + document.getElementsByTagName('div')[0].className); 

cách khác làm điều này:

document.write("alternative way: " + document.getElementById('my_id').className); 

Nó mang lại kết quả như sau:

div CSS class: my_class 
alternative way: my_class 
0

nếu bạn muốn tìm kiếm một div rằng có hơn 1 lớp thử điều này:

Html:

<div class="class1 class2 class3" id="myDiv"> 

Jquery:

var check = $("#myDiv").hasClass("class2").toString(); 

ouput:

true

Các vấn đề liên quan