如何用js或jquery判断html元素是否设置了背景样式 10

经过测试,假如body没有设置背景,控制台输入$("body").css("background")chrome中返回"rgba(0,0,0,0)nonerepeatsc... 经过测试,假如body没有设置背景,控制台输入$("body").css("background")
chrome中返回"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box";
IE中返回""
问题是:如何用一个统一的方法来判断呢元素是否使用了背景样式?
请别告诉我:
if($("body").css("background")=="" || $("body").css("background")="rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box"){
//没有背景样式
}
else{
//有背景样式
}
展开
 我来答
小河感n
2013-09-28 · TA获得超过460个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:146万
展开全部
IE8 background 即时你写了颜色他也是undefined
background-color 颜色值 transparent

火狐 background 即时你写了颜色他也无法获取
background-color rgb格式 transparent

谷歌 background rgba(255, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box
background-color rgb格式 rgba(0, 0, 0, 0)

还有background 不光可以写颜色,还可以写图片加颜色等,如果你只是按他们的默认值来判读是否有颜色的话,我感觉行不通,如果background :后面跟的是图片,jqury能获得值不是默认值,那你怎么判读他是否有背景色

不过也不是行不通的还有一个办法就是写一个方法把所有的颜色都转化为16进制
这个方法要具备这些功能
1、他能认识颜色值是英文名还是rgb格式的
2、把不是颜色多余的部分去掉 如"rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box“要截取成rgba(0, 0, 0, 0)

这个方法只能用在background-color上
因为IE、火狐取不到background-color的颜色值,即时你设置了
匿名用户
2018-04-20
展开全部
这种场景哪里会用到?
有没有设背景,自己知道呀。网页就是自己做的。所以直接检索你要检索的地方就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SZ夜灬深
2013-09-28
知道答主
回答量:41
采纳率:100%
帮助的人:13.6万
展开全部
你这个其实就写两套css就行了,一套对应IE,一套对应Chrome
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mini_humour
2013-09-28 · TA获得超过223个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:168万
展开全部
就用上面这个方法挺好的,能解决问题就是好方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式