У меня есть div:
<div class="test" id="someElement" style="position: absolute"></div>
Есть ли способ проверить, является ли определенный элемент:
$("#someElement")
имеет определенный класс (в моем случае «тест»).
В качестве альтернативы, есть ли способ проверить, что элемент en имеет определенный стиль? В этом примере я хотел бы знать, есть ли у элемента " position: absolute
".
Большое спасибо!
javascript
jquery
css
0100110010101
источник
источник
Ответы:
if($('#someElement').hasClass('test')) { ... do something ... } else { ... do something else ... }
источник
Стили CSS - это пары «ключ-значение», а не просто «теги». По умолчанию каждый элемент имеет полный набор назначенных ему стилей CSS, большинство из них неявно использует настройки браузера по умолчанию, а некоторые из них явно переопределяются в таблицах стилей CSS.
Чтобы получить значение, присвоенное определенной записи CSS элемента, и сравнить его:
if ($('#yourElement').css('position') == 'absolute') { // true }
Если вы не переопределяли стиль, вы получите значение браузера по умолчанию для этого конкретного элемента.
источник
if ($("element class or id name").css("property") == "value") { your code.... }
источник
Или, если вам нужно получить доступ к элементу, у которого есть это свойство, и он не использует идентификатор, вы можете пойти по этому пути:
$("img").each(function () { if ($(this).css("float") == "left") { $(this).addClass("left"); } if ($(this).css("float") == "right") { $(this).addClass("right"); } })
источник
я нашел одно решение:
$("#someElement")[0].className.match("test")
но почему-то я верю, что есть способ получше!
источник
Вопрос требует двух разных вещей:
На второй вопрос уже дан ответ. Для первого я бы сделал так:
if($("#someElement").is(".test")){ // Has class test assigned, eventually combined with other classes } else{ // Does not have it }
источник