IE/FireFox/Chrome 取style.backgroundColor 兼容性问题

来源:互联网 发布:mac里什么浏览器最流畅 编辑:程序博客网 时间:2024/04/30 05:51

参考地址:http://www.zhangxinxu.com/wordpress/2010/03/javascript-%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%E4%B8%8Ergb%E9%A2%9C%E8%89%B2%E5%80%BC%E7%9A%84%E7%9B%B8%E4%BA%92%E8%BD%AC%E6%8D%A2/


最近在做产品的跨浏览器支持,也不用第三方框架如jquery之类的。开发过程中遇到一个取背景色不兼容的问题。

在IE浏览器中,使用style.backgroundColor 返回的值是用16进制表示的,比如红色那么返回: #FF0000,

但是在FF 和 Chrome下面返回的值却是RGB类型的, 红色返回如下: rgb(255,0,0).

现在需要统一返回结果,参考上面的地址,使用了作者提供的把 RGB 转成16进制的方法,问题解决。


String.prototype.colorHex = function(){var that = this;var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(/^(rgb|RGB)/.test(that)){var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");var strHex = "#";for(var i=0; i<aColor.length; i++){var hex = Number(aColor[i]).toString(16);if(hex === "0"){hex += hex;}strHex += hex;}if(strHex.length !== 7){strHex = that;}return strHex;}else if(reg.test(that)){var aNum = that.replace(/#/,"").split("");if(aNum.length === 6){return that;}else if(aNum.length === 3){var numHex = "#";for(var i=0; i<aNum.length; i+=1){numHex += (aNum[i]+aNum[i]);}return numHex;}}else{return that;}};


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 做作业总是走神怎么办 做事注意力不集中怎么办 做事注意力不能集中怎么办 幼儿争抢玩具老师怎么办 孩子不专心学习怎么办 一年级孩子学习边学边忘怎么办 对爱不专心怎么办 孩子脑子不灵活怎么办 小孩写作业心慌怎么办 4岁写数字怎么办 孩子做事太慢怎么办 小孩子做事不认真怎么办 员工做事不认真怎么办 做事总是不认真怎么办 孩子上课老是讲话怎么办 孩子上课总讲话怎么办 孩子不求上进怎么办 孩子只知道吃完怎么办 孩子演出前紧张怎么办 儿童写字不专心怎么办 孩子上课没精神怎么办 小孩写字太慢怎么办 儿童上课不集中怎么办 突然头晕迷糊眼花怎么办 自己上课不专心怎么办 颈椎病头晕怎么办才好 孩孑记忆力不好怎么办 上课的时候困怎么办 小学生写字太慢怎么办 一年级小学生写字慢怎么办 小学生写字太用力怎么办 专注力不集中怎么办 一年级孩子写字慢怎么办 孩子话很多应该怎么办 孩子废话特别多怎么办 老师不认真教学怎么办 小孩脸上长痦子怎么办 小朋友爱讲笑话怎么办 小孩上课不认真怎么办 小孩子精神不集中怎么办 孩子上课都不听怎么办