2009-10-08 3 views

risposta

102

Basta avere l'attributo di classe:

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

Esempio

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

Per controllare il div sopra per classi contenute in esso

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

output della console

accordion accordion_active 
+0

è davvero un attributo? 'ClassName' ..? 'ClassName' non è usato solo per javascript? 'document.getElementById (" div1 "). className' – peirix

+2

Ora che secondo il jQuery doc si suggerisce di usare' className' in modo che non interferisca con la parola riservata 'class' in javascript ... – peirix

+2

** NOTA : ** In jQuery 1.6, hanno * finalmente * corretto il metodo 'attr', e ora dovresti usare' $ (...). Attr ('classe'); ',' className' è solo una proprietà di accesso che mappa all'attributo 'class' sull'elemento DOM - non esiste un attributo' className', è solo una proprietà-. – CMS

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

restituirà una stringa delle classi. Trasformarlo in un array di nomi di classe

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

+ 1'd. ($ ('# div1'). attr ('classe') || '') .split ('') è più sicuro. – user420667

1
var classname=$('#div1').attr('class') 
0

provare questo

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

16

Semplicemente

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

Puoi fare altre cose per manipolare la classe dell'elemento

$("#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'); 

o

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

il nome classe dell'elemento corrente

7

Da ora in poi è meglio usare la funzione .prop() anziché il .attr() uno.

Qui la documentazione jQuery:

Come di jQuery 1.6, il metodo .attr() restituisce undefined per gli attributi che non sono stati impostati. Inoltre, .attr() non deve essere utilizzato su oggetti semplici, array, la finestra o il documento . Per recuperare e modificare le proprietà DOM, utilizzare il metodo .prop().

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

Il metodo addClass in jQuery ha un currentClass costruito. Si può usare all'interno di una chiamata di funzione.In questo modo:

<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> 

se questa è la prima div poi affrontare in questo modo:

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

in alternativa fare questo:

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

Si ottengono i seguenti risultati:

div CSS class: my_class 
alternative way: my_class 
0

se si vuole cercare un div che ha più di 1 classe provate questo:

Html:

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

Jquery:

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

ouput:

true

Problemi correlati