下面的例子将返回首个匹配元素的 background-color 值:<!DOCTYPE html><html><head><script src="/jquery/jquery-1.11.1.min.js"></script><script>$(document).ready(function(){$("button").click(function(){alert("Background color = " + $("p").css("background-color"));});});</script></head><body><h2>这是标题</h2><p style="background-color:#f5c000">这是一个段落。</p><p style="background-color:#00ff00">这是一个段落。</p><p style="background-color:#0000ff">这是一个段落。</p><p style="background-color:#0f2345">这是一个段落。</p><p style="background-color:#c04a1f">这是一个段落。</p><button>返回 p 元素的背景色</button></body></html>这里怎么计算的啊 元素的 background-color 值alert("Background color = " + $("p").css("background-color"));
2 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
background-color 是 string
是无法计算的
获取 background-color
var bgc = $('p').eq(0).css('backgroundColor');
alert( "Background color = " + bgc);
这里的eq(0)是指的第一个p元素
在css()方法中,如果属性中带有“-”符号,例如font-size和background-color属性,如果在设置这些属性的值的时候不带引号,那么就要用驼峰式写法,比如上面的代码,如果带上了引号,既可以写成“'background-color'”,也可以写成“'backgroundColor'”。
MYYA
TA贡献1868条经验 获得超4个赞
$.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; } |
可以用这个对象函数获取,因为浏览器不兼容,所以返回的属性值是不同的,这个函数可以解决
添加回答
举报
0/150
提交
取消