jquery中css() 方法可以设置或返回被选元素的一个或多个样式属性,下面的例子将返回首个匹配元素的 background-color 值:
$("p")css("background-color");父级的同级元素的子标签的css样式如下:
//eq(0)表示选择匹配到多个元素中的第一个$("target")parent()siblings()eq(0)children()eq(0)
使用jQuery获取样式中的background-color的值时发现在获取到的颜色值在IE10以下版本中是以HEX格式显示#ffff00,而IE10,、Chrome、Firefox中则是以GRB格式显示rgb(255,0,0),由于需要对颜色值进行判断处理,所以需要得到统一的颜色格式,最好是HEX格式的,方便处理点。搜索了一下,从国外的一个网站上得到一段代码:
复制代码
代码如下:
$fngetHexBackgroundColor
=
function()
{
var
rgb
=
$(this)css('background-color');
rgb
=
rgbmatch(/^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格式:
复制代码
代码如下:
$fngetBackgroundColor
=
function()
{
var
rgb
=
$(this)css('background-color');
if(rgb
>=
0)
return
rgb;//如果是一个hex值则直接返回
else{
rgb
=
rgbmatch(/^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样式全部的内容,包括:jquery 获取 父级的同级下面的子标签的css样式、jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)