我有一个div:
<div class="test" id="someElement" style="position: absolute"></div>
有没有办法检查某个元素:
$("#someElement")
有一个特定的类(在我的例子中,“test”)。
或者,有没有办法检查en元素是否具有某种风格?在这个例子中,我想知道元素是否有“position: absolute
”。
非常感谢!
答案 0 :(得分:266)
CSS样式是键值对,而不仅仅是“标签”。默认情况下,每个元素都分配了一整套CSS样式,其中大多数是隐式使用浏览器默认值,其中一些在CSS样式表中显式重新定义。
获取分配给元素的特定CSS条目的值并进行比较:
if ($('#yourElement').css('position') == 'absolute')
{
// true
}
如果您没有重新定义该样式,您将获得该特定元素的浏览器默认值。
答案 1 :(得分:56)
if($('#someElement').hasClass('test')) {
... do something ...
}
else {
... do something else ...
}
答案 2 :(得分:12)
if ($("element class or id name").css("property") == "value") {
your code....
}
答案 3 :(得分:2)
或者,如果您需要访问具有该属性但不使用id的元素,您可以选择以下路径:
$("img").each(function () {
if ($(this).css("float") == "left") { $(this).addClass("left"); }
if ($(this).css("float") == "right") { $(this).addClass("right"); }
})
答案 4 :(得分:1)
我找到了一个解决方案:
$("#someElement")[0].className.match("test")
但不知怎的,我相信有更好的方法!
答案 5 :(得分:0)
问题要求两件事:
第二个问题已经回答。对于第一个,我会这样做:
if($("#someElement").is(".test")){
// Has class test assigned, eventually combined with other classes
}
else{
// Does not have it
}