Як я можу отримати поточний клас div, використовуючи jQuery div1?
Відповіді:
Просто отримайте атрибут class:
var div1Class = $('#div1').attr('class');
Приклад
<div id="div1" class="accordion accordion_active">
Щоб перевірити наведений вище div для класів, що містяться в ньому
var a = ("#div1").attr('class');
console.log(a);
вихід консолі
accordion accordion_active
classNameщоб це не заважало зарезервованому слову classв javascript ...
attrметод, і тепер ви повинні використовувати його $(...).attr('class');, classNameце просто властивість доступу, яка відображає classатрибут елемента DOM - classNameатрибут відсутній , це просто властивість-.
Просто
var divClass = $("#div1").attr("class")
Ви можете зробити деякі інші речі, щоб маніпулювати класом елемента
$("#div1").addClass("foo"); // add class 'foo' to div1
$("#div1").removeClass("foo"); // remove class 'foo' from div1
$("#div1").toggleClass("foo"); // toggle class 'foo'
$('#div1').attr('class')
поверне рядок класів. Перетворіть його в масив назв класів
var classNames = $('#div1').attr('class').split(' ');
Відтепер краще використовувати функцію .prop () замість функції .attr ().
Ось документація jQuery:
Починаючи з jQuery 1.6, метод .attr () повертає невизначений для атрибутів, які не були встановлені. Крім того, .attr () не слід використовувати на звичайних об'єктах, масивах, вікні чи документі. Щоб отримати та змінити властивості DOM, використовуйте метод .prop ().
var div1Class = $('#div1').prop('class');
$("#div1").attr("class")
Метод addClass у jQuery має currentClassвбудовану властивість. Ви можете використовувати його всередині виклику функції. Подобається так:
<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>
<div id="my_id" class="my_class"></div>
якщо це перший div, тоді звертайтеся до нього так:
document.write("div CSS class: " + document.getElementsByTagName('div')[0].className);
або ж зробити це:
document.write("alternative way: " + document.getElementById('my_id').className);
Це дає такі результати:
div CSS class: my_class
alternative way: my_class
якщо ви хочете шукати div, який має більше 1 класу, спробуйте це:
HTML:
<div class="class1 class2 class3" id="myDiv">
Jquery:
var check = $( "#myDiv" ).hasClass( "class2" ).toString();
витік:
true
className..?classNameВикористовується не лише для JavaScript?document.getElementById("div1").className