jquery获取css颜色值返回RGB应用
代码如下:
代码如下 | 复制代码 |
a, a:link, a:visited { color:#4188FB; } |
js代码如下:
代码如下 | 复制代码 |
var link_col = $("a:link").css("color"); |
jquey貌似设置颜色,使用的是rgb格式的。
用以下这个function,把rgb转成“#xxxx”(HEX )格式。
代码如下 | 复制代码 |
var rgbString = "rgb(0, 70, 255)"; // get this in whatever way. |
或者用这个function
代码如下 | 复制代码 |
function rgb2hex(rgb) { |
补充一下
获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE10以下版本中是以HEX格式显示【#ffff00】,而IE10,、Chrome、Firefox中则是以GRB格式显示【rgb(255,0,0)】,由于需要对颜色值进行判断处理,所以需要得到统一的颜色格式,最好是HEX格式的,方便处理点。搜索了一下,从国外的一个网站上得到一段代码:
代码如下 | 复制代码 |
$.fn.getHexBackgroundColor = function() { |
上面定义的是一个jQuery函数,我们可以通过 $("#bg").getHexBackgroundColor(); 获取到标签id="bg"的background-color的RGB值。
下面做一下小小的修改,就是加一个判断,如果是显示HEX值(IE10以下)就直接拿值,如果是非IE浏览器则将值转换成RGB格式:
代码如下 | 复制代码 |
$.fn.getBackgroundColor = function() { |
本文实例讲述了jQuery获取样式中颜色值的方法。分享给大家供大家参考。具体分析如下:
今天使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE中与Chrome、Firefox显示的格式不一样,IE中是以HEX格式显示【#ffff00】,而Chrome、Firefox中则是以GRB格式显示【rgb(255,0,0)】,由于需要将颜色值存储到数据库中,所以想让颜色值的格式统一下(其实不统一也是可以存的)。搜索了一下,从国外的一个网站上得到一段代码:
1
2
3
4
5
6
|
$.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值。
下面做一下小小的修改,就是加一个判断,如果是IE浏览器就直接拿值,如果是非IE浏览器则将值转换成RGB格式:
1
2
3
4
5
6
7
8
9
|
$.fn.getHexBackgroundColor = function () { var rgb = $( this ).css( 'background-color' ); if (!$.browser.msie){ 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; } |
希望本文所述对大家的jQuery程序设计有所帮助。
- //十六进制颜色值域RGB格式颜色值之间的相互转换
- //-------------------------------------
- //十六进制颜色值的正则表达式
- var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
- /*RGB颜色转换为16进制*/
- String.prototype.colorHex = function(){
- var that = this;
- 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;
- }
- };
- //-------------------------------------------------
- /*16进制颜色转为RGB格式*/
- String.prototype.colorRgb = function(){
- var sColor = this.toLowerCase();
- if(sColor && reg.test(sColor)){
- if(sColor.length === 4){
- var sColorNew = "#";
- for(var i=1; i<4; i+=1){
- sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));
- }
- sColor = sColorNew;
- }
- //处理六位的颜色值
- var sColorChange = [];
- for(var i=1; i<7; i+=2){
- sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));
- }
- return "RGB(" + sColorChange.join(",") + ")";
- }else{
- return sColor;
- }
- };
2.调用方法
- var sRgb = "RGB(255, 255, 255)" , sHex = "#00538b";
- var sHexColor = sRgb.colorHex();//转换为十六进制方法<code></code>
- var sRgbColor = sHex.colorRgb();//转为RGB颜色值的方法

colorHex()
表示转换为十六进制方法,colorRgb()
表示转为RGB颜色值的方法
jquery获取css颜色值返回RGB应用的更多相关文章
- jQuery获取CSS样式中的颜色值的问题
转自:http://blog.csdn.net/cwj649956781/article/details/23261529 jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法,需 ...
- jquery 获取css position的值
jquery 获取css position的值 CreateTime--2018年5月28日14:03:12 Author:Marydon 1.情景展示 <div id="aa&q ...
- 使用jquery获取css的top和left属性
使用jquery获取css的top和left属性 因为left和top也都是普通的css属性所以可以使用如下代码来获取 var left = $('#test').css('left'); var t ...
- jquery获取css color 值返回RGB
css代码如下: a, a:link, a:visited { color:#4188FB; } a:active, a:focus, a:hover { color:#FFCC00; } js代码如 ...
- jquery如何将获取的颜色值转换为十六进制形式
jquery如何将获取的颜色值转换为十六进制形式:大家或许已经注意到了,在谷歌.火狐和IE8以上浏览器中,获取的颜色值是RGB形式,例如rgb(255,255,0),感觉非常不适应,或者在实际编码中不 ...
- jquery中css获取颜色属性
Jquery获取颜色的方法为: var color = $(元素).css("color"); alert(color); 可以看到color如这样的格式; 但是; 因为rgb(0 ...
- delphi 获取颜色值的RGB
前言:http://www.cnblogs.com/studypanp/p/5002953.html 获取的颜色值 前面获取到一个像素点的颜色值后(十六进制),比如说(黄色):FFD1C04C(共八位 ...
- jQuery取CSS的HEX(16位)颜色值
//IE10以上版本.CHROME.FIREFOX中GRB颜色转HEX颜色值 $.fn.getBackgroundColor = function() { var rgb = $(this).css( ...
- JQuery获取元素宽度.width()与.css(‘width’)两个函数的区别
整理翻译自:http://blog.jquery.com/2012/08/16/jquery-1-8-box-sizing-width-csswidth-and-outerwidth/ 大意是: 在J ...
随机推荐
- spring的普通类中如何取session和request对像
在使用spring时,经常需要在普通类中获取session,request等对像. 比如一些AOP拦截器类,在有使用struts2时,因为struts2有一个接口使用org.apache.struts ...
- DotNETCore 学习笔记 异常处理
Error Handling public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseIISP ...
- windows支持applocker的版本
Operating system requirements The following table show the on which operating systems AppLocker fe ...
- SpringMvc基础知识(二) springmvc和mybatis整合
1 springmvc和mybatis整合 1.1 需求 使用springmvc和mybatis完成商品列表查询. 1.2 整合思路 springmvc+mybaits的系统架构: 第一步:整合dao ...
- kvm的vmcall
这几个接口的区别在于参数个数的不用,本质是一样的.挑个参数最多的看下: static inline long kvm_hypercall4(unsigned int nr, unsigned long ...
- Anaconda 2和3在Win10上共存
1. 安装Anaconda 2和3 Anaconda 2中的python2为主,Anaconda 3中的python3为辅.先装Anaconda 2,并在安装时选择注册为系统python,再装Anac ...
- [ Openstack ] OpenStack-Mitaka 高可用之 认证服务(keystone)
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- python通过多进程实行多任务
#原创,转载请联系 在开始之前,我们要知道什么是进程.道理很简单,你平时电脑打开QQ客户端,就是一个进程.再打开一个QQ客户端,又是一个进程.那么,在python中如何用一篇代码就可以开启几个进程呢? ...
- Solidity番外篇(一)Solidity在线or插件使用
在学习以太坊合约的过程中会需要自己编写智能合约,官方提供了几种方式供大家使用.下面分别简单介绍一下,如果有错误的地方,还留言指正补充. DAPP IDE 说实话,这个版本IDE我还没有使用过,只提供一 ...
- docker从零开始网络(二)桥接网络
使用桥接网络 在网络方面,桥接网络是链路层设备,它在网络段之间转发流量.桥接网络可以是硬件设备或在主机内核中运行的软件设备. 就Docker而言,桥接网络使用软件桥接器,该软件桥接器允许连接到同一桥接 ...