扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用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;
}
jquery中css() 方法可以设置或返回被选元素的一个或多个样式属性,下面的例子将返回首个匹配元素的 background-color 值:
$("p").css("background-color");
父级的同级元素的子标签的css样式如下:
//eq(0)表示选择匹配到多个元素中的第一个
$("target").parent().siblings().eq(0).children().eq(0)
1、创建一个名称为css的html文件。
2、在页面中加入一个button按钮,当点击button的时候出发click事件。
3、在加入一个div设置宽和高还有背景色,当button的click事件中用css方法修改该div背景色。
4、文件引入jquery 库。
5、在文档准备方法中加入click点击事件。
6、在click事件中加入css方法设置div的背景色。
7、在浏览器中运行该文件。并点击button设置div的背景色。
如果你的按钮是用背景色来实现的还比较好判断
$().css('background-color')
这样可以取得背景色,剩下的逻辑你自己来
通过查询属性获取:$('element').attr('id')
定义和用法
attr() 方法设置或返回被选元素的属性值。
根据该方法不同的参数,其工作方式也有所差异。
1、使用标签获取元素数组
2、遍历数组
3、判断每一个元素,找出css("display")为block的元素
具体代码如下:
$(function(){
//取出所有div,并遍历
$("div").each(){
//判断每一个div,其css中display是否为block
if($(this).css("display")=="block"){
alert('您想要的元素');
}
};
});
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流