Ответ 1
if($('#someElement').hasClass('test')) {
... do something ...
}
else {
... do something else ...
}
У меня есть div:
<div class="test" id="someElement" style="position: absolute"></div>
Есть ли способ проверить, есть ли определенный элемент:
$("#someElement")
имеет определенный класс (в моем случае, "test" ).
Альтернативно, есть ли способ проверить, что элемент en имеет определенный стиль? В этом примере я хотел бы знать, имеет ли элемент "position: absolute".
Большое спасибо!
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....
}
Я нашел одно решение:
$("#someElement")[0].className.match("test")
но почему-то я считаю, что там лучший способ!
Или, если вам нужно получить доступ к элементу, у которого есть это свойство, и он не использует идентификатор, вы можете пойти по этому маршруту:
$("img").each(function () {
if ($(this).css("float") == "left") { $(this).addClass("left"); }
if ($(this).css("float") == "right") { $(this).addClass("right"); }
})