jquery 检查元素是否有某个css属性

 我来答
老炉传说
2017-10-24 · TA获得超过136个赞
知道小有建树答主
回答量:172
采纳率:78%
帮助的人:134万
展开全部

jquery获取对象的css属性值的时候,就算我们没有给这个对象设置过css属性值,这些值也会存在,只不过有些是默认值。下面我们来输出一个div的css属性值,原始代码如下

<!DOCTYPE html>
<html>
<head>
    <title>DIV_TEST</title>
    <meta charset="utf-8"/>
    <style type="text/css">
        #top1{

        }
    </style>
</head>
<body>
    <div id="top1">
        <u>你好我是某某某</u>
    </div>
<script src="jquery-3.2.1.min.js" ></script>
    <script>

        $(document).ready(function(){
            console.log("float的值是:"+$("#top1").css("float"));
            console.log("height的值是:"+$("#top1").css("height"));
            console.log("overflow的值是:"+$("#top1").css("overflow"));
            console.log("color的值是:"+$("#top1").css("color"));
            console.log("big的值是:"+$("#top1").css("big"));
        });

    </script>
</body>
</html>

结果如下

可以看到我们没有设置过div的css属性,除了高度以外剩下的只要存在这个css属性的都是默认值,唯一不同的是最后一个big属性,我们知道这个属性不是css的属性,因此我们判断有没有某个属性的时候可以通过这个方式判断

$(document).ready(function(){

    console.log("是否存在big属性:"+testHasCss($("#top1"),"big"));
    console.log("是否存在color属性:"+testHasCss($("#top1"),"color"));
    console.log("是否存在display属性:"+testHasCss($("#top1"),"display"));
    console.log("是否存在gogo属性:"+testHasCss($("#top1"),"gogo"));
});

var testHasCss = function(obj,cssStr){
    if((obj).css(cssStr) === undefined){
        return false;
    }else{
        return true;
    }
}

结果如下

码匠
2017-10-24 · 原创桌游与酷玩,为你带去更多欢乐
码匠
采纳数:625 获赞数:4623

向TA提问 私信TA
展开全部
hasClass方法
$(元素).hasClass(类名);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
撒旦盛大7
2019-05-29
知道答主
回答量:3
采纳率:0%
帮助的人:2195
展开全部
if ($(元素).css(属性) == 属性值)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式