我有以下代码:
alert($("div", data).attr("style.background"));
我想在此代码中选择颜色值:
<div id = "test"style="font-family: serif; font-size: x-large; font-weight: bold; background: #5e5; text-align: center; margin: 0px; padding: 16px;">
我不确定要使用什么而不是style.background
。
任何帮助都会很棒,谢谢!
编辑:
更多代码
success: function (data) {
alert(data);
alert($("div", data).css("background"));
},
答案 0 :(得分:4)
尝试使用css()
代替attr()
:
alert($("div", data).css("background"));
要获得唯一的颜色,您需要传递background-color
而不是background
。这也将与其他CSS属性一起使用。
答案 1 :(得分:1)
至于为什么你的jQuery选择器$('div',data)
不起作用,那是因为data
是一个字符串,而不是一个jQuery对象。要获得你想要的东西,你需要做:
$(data).filter('div')
这将为您提供div
字符串中包含的data
。
如果您想要的只是颜色,请尝试:
$(data).filter('div').css('backgroundColor')
但是,这将返回rgb(...)
格式的颜色,因为jQuery会将所有颜色代码转换为rgb。
但是,如果您想要style
属性中使用的实际值,则需要解析属性本身以找到答案:
var style = $(data).filter('div').attr('style');
var styleObj = {};
$.each(style.split(';'),function(){
var rule = this.split(':');
styleObj[$.trim(rule[0])] = $.trim(rule[1]);
});
alert(styleObj.background) // "#e55"