永发信息网

怎样用angular获取一个标签的css样式里的color值

答案:1  悬赏:70  手机版
解决时间 2021-04-07 14:30
怎样用angular获取一个标签的css样式里的color值
最佳答案
使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE10以下版本中是以HEX格式显示【#ffff00】,而IE10,、Chrome、Firefox中则是以GRB格式显示【rgb(255,0,0)】,由于需要对颜色值进行判断处理,所以需要得到统一的颜色格式,最好是HEX格式的,方便处理点。搜索了一下,从国外的一个网站上得到一段代码:
代码如下:
$.fn.getHexBackgroundColor = function() {
var rgb = $(this).css('background-color');
rgb = rgb.match(/^rgb((d+),s*(d+),s*(d+))$/);
function hex(x) {return ("0" + parseInt(x).toString(16)).slice(-2);}
return rgb= "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}

上面定义的是一个jQuery函数,我们可以通过 $("#bg").getHexBackgroundColor(); 获取到标签id="bg"的background-color的RGB值。
下面做一下小小的修改,就是加一个判断,如果是显示HEX值(IE10以下)就直接拿值,如果是非IE浏览器则将值转换成RGB格式:
代码如下:
$.fn.getBackgroundColor = function() {
var rgb = $(this).css('background-color');
if(rgb >= 0) return rgb;//如果是一个hex值则直接返回
else{
rgb = rgb.match(/^rgb((d+),s*(d+),s*(d+))$/);
function hex(x) {return ("0" + parseInt(x).toString(16)).slice(-2);}
rgb= "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
return rgb;
}

河南新华电脑网络运营协会为您解答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
iPhone6s为什么无法更新系统?
山西自主职高女孩学啥专业好
物业防汛需要哪些工具
32g运行内存能把fx8350的性能榨干吗?
凯皙漫化妆品店地址有知道的么?有点事想过去
如何判断没有bom的文件是否utf16编码
学好proe抄数,会好找工作么,工资怎么样啊?
兴研 儿童口罩在日本卖多少钱
去崀山玩有什么需要注意的地方吗?
周公解梦? 梦见 自己的灵牌 遗像
蚂蚁聚宝股票基金管理人不操作吗 详细:炒股
oppoa59所有信息来电都不在顶部显示?
什么牌子的女装质量比较好、价格适中
总裁豪门嫁给植物人丈夫小说名
陕西三秦香食品有限公司这个地址在什么地方,
推荐资讯
皮个布早教中心(魅力城店)这个地址在什么地方
有个类似鳄鱼洗澡的游戏,但引的不是水是藤蔓
在淘宝上找代购拍雅虎日拍的东西,定金要提前
同盈商店地址有知道的么?有点事想过去
生年禄什么意思
超市买的肉酱,真的全是酱,还是自己做的肉酱
柳州碧海云天是同性恋聚集地吗
装修太吵怎么办,怎么避免装修纠纷
我的车机械钥匙打不开,说要换一整套锁,问对
懂车的说下,图中是什么部件破了,是福克斯的
求极速追杀字幕,谢谢
临朐一女生被前男友杀害
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?