Javascript Jquery:如何检查元素是否具有特定的css类/样式
我有一个部门:Javascript Jquery:如何检查元素是否具有特定的css类/样式,javascript,jquery,css,Javascript,Jquery,Css,我有一个部门: <div class="test" id="someElement" style="position: absolute"></div> 有一个特定的类(在我的例子中是“test”) 或者,是否有方法检查en元素是否具有特定的样式?在本例中,我想知道元素是否具有“位置:绝对值”” 多谢各位 我找到了一个解决方案: if($('#someElement').hasClass('test')) { ... do something ... } else
<div class="test" id="someElement" style="position: absolute"></div>
有一个特定的类(在我的例子中是“test”)
或者,是否有方法检查en元素是否具有特定的样式?在本例中,我想知道元素是否具有“位置:绝对值”
”
多谢各位 我找到了一个解决方案:
if($('#someElement').hasClass('test')) {
... do something ...
}
else {
... do something else ...
}
$("#someElement")[0].className.match("test")
但不知怎的,我相信有更好的办法 CSS样式是键值对,而不仅仅是“标记”。默认情况下,每个元素都有一套完整的CSS样式分配给它,其中大多数都隐式使用浏览器默认值,其中一些在CSS样式表中显式重新定义 要获取分配给元素特定CSS项的值并进行比较,请执行以下操作:
if ($('#yourElement').css('position') == 'absolute')
{
// true
}
如果未重新定义样式,您将获得该特定元素的浏览器默认值。或者,如果您需要访问具有该属性且不使用id的元素,则可以通过以下途径:
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"); }
})
问题是问两件不同的事情:
if($("#someElement").is(".test")){
// Has class test assigned, eventually combined with other classes
}
else{
// Does not have it
}
不确定是问题还是答案错了,但问题有style=“test”,答案是class=“test”我猜,问题错了,因为他把错误的答案标为正确;但不管怎样,在看了投票后,我认为大多数人都跌跌撞撞地来到这里,寻找这个错误问题的正确答案。。。呃,如果说得通的话。。。我是说Jokepu博士的答案。这就是我来这里的原因。这并没有回答问题——请看下面DrJokepu的回答。没有办法用选择器来实现它?通过这个,你可以看到实际属性是什么,我需要知道的是,这个属性是直接设置的还是从css样式/浏览器继承的。。。这可能吗?如果页面加载后对象的DOM更改/css值更改,则该场景似乎不起作用。您知道如何让它在加载DOM后监视css更改吗?@clarbone您可以在加载文档后始终使用setTimeout()和clearTimeout()将调用延迟一秒钟左右。
if($("#someElement").is(".test")){
// Has class test assigned, eventually combined with other classes
}
else{
// Does not have it
}