我有以下代码:
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"));
},发布于 2012-07-06 00:38:40
至于为什么您的jQuery选择器$('div',data)不工作,这是因为data是一个字符串,而不是jQuery对象。要得到你想要的东西,你需要做:
$(data).filter('div')这将得到包含在data字符串中的div。
如果你只想要颜色,试试:
$(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"发布于 2012-07-06 00:36:30
尝试使用css()而不是attr()
alert($("div", data).css("background"));要只获取颜色,您需要传递background-color而不是background。这也适用于其他CSS属性。
https://stackoverflow.com/questions/11348734
复制相似问题