Using jQuery, how can I get the current class of a div called div1
?
This question is related to
jquery
$("#div1").attr("class")
The addClass method in jQuery has a currentClass
built in property. You can use it inside a function call. Like so:
<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>
try this
$("#div1").attr("class")
From now on is better to use the .prop() function instead of the .attr() one.
Here the jQuery documentation:
As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. In addition, .attr() should not be used on plain objects, arrays, the window, or the document. To retrieve and change DOM properties, use the .prop() method.
var div1Class = $('#div1').prop('class');
$('#div1').attr('class')
will return a string of the classes. Turn it into an array of class names
var classNames = $('#div1').attr('class').split(' ');
<div id="my_id" class="my_class"></div>
if that is the first div then address it like so:
document.write("div CSS class: " + document.getElementsByTagName('div')[0].className);
alternatively do this:
document.write("alternative way: " + document.getElementById('my_id').className);
It yields the following results:
div CSS class: my_class
alternative way: my_class
if you want to look for a div that has more than 1 class try this:
Html:
<div class="class1 class2 class3" id="myDiv">
Jquery:
var check = $( "#myDiv" ).hasClass( "class2" ).toString();
ouput:
true
var className=$('selector').attr('class');
or
var className=$(this).attr('class');
the classname of the current element
Simply by
var divClass = $("#div1").attr("class")
You can do some other stuff to manipulate element's class
$("#div1").addClass("foo"); // add class 'foo' to div1
$("#div1").removeClass("foo"); // remove class 'foo' from div1
$("#div1").toggleClass("foo"); // toggle class 'foo'
var classname=$('#div1').attr('class')
Source: Stackoverflow.com