Jquery:如何检查元素是否具有某些css类/样式

010*_*101 82 javascript css jquery

我有一个div:

<div class="test" id="someElement" style="position: absolute"></div>
Run Code Online (Sandbox Code Playgroud)

有没有办法检查是否有某个元素:

$("#someElement") 
Run Code Online (Sandbox Code Playgroud)

有一个特定的类(在我的情况下,"测试").

或者,有没有办法检查en元素是否具有某种风格?在这个例子中,我想知道元素是否有" position: absolute".

非常感谢你!

Tam*_*ege 271

CSS样式是键值对,而不仅仅是"标签".默认情况下,每个元素都有一组完整的CSS样式,其中大多数是隐式使用浏览器默认值,其中一些是在CSS样式表中显式重新定义的.

要获取分配给元素的特定CSS条目的值并进行比较:

if ($('#yourElement').css('position') == 'absolute')
{
   // true
}
Run Code Online (Sandbox Code Playgroud)

如果您未重新定义样式,则将获得该特定元素的浏览器默认值.

  • 使用选择器无法做到这一点? (3认同)

Dar*_*rov 57

if($('#someElement').hasClass('test')) {
  ... do something ...
}
else {
  ... do something else ...
}
Run Code Online (Sandbox Code Playgroud)

  • 这没有回答问题 - 请参阅下面的Dr.Jokepu的答案. (71认同)

San*_*pta 12

if ($("element class or id name").css("property") == "value") {
    your code....
}
Run Code Online (Sandbox Code Playgroud)


小智 6

或者,如果您需要访问具有该属性的元素并且它不使用 id,您可以采用以下路线:

$("img").each(function () {
        if ($(this).css("float") == "left") { $(this).addClass("left"); }
        if ($(this).css("float") == "right") { $(this).addClass("right"); }
    })
Run Code Online (Sandbox Code Playgroud)