首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jquery .attr选择样式参数

使用jquery .attr选择样式参数
EN

Stack Overflow用户
提问于 2012-07-06 00:35:35
回答 2查看 1.7K关注 0票数 0

我有以下代码:

代码语言:javascript
运行
复制
alert($("div", data).attr("style.background"));

我想在此代码上选择颜色值:

代码语言:javascript
运行
复制
<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

任何帮助都会很棒,谢谢!

编辑:

更多代码

代码语言:javascript
运行
复制
 success: function (data) {

                    alert(data);
                    alert($("div", data).css("background"));



                },
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-06 00:38:40

至于为什么您的jQuery选择器$('div',data)不工作,这是因为data是一个字符串,而不是jQuery对象。要得到你想要的东西,你需要做:

代码语言:javascript
运行
复制
 $(data).filter('div')

这将得到包含在data字符串中的div

如果你只想要颜色,试试:

代码语言:javascript
运行
复制
$(data).filter('div').css('backgroundColor')

但是,这将返回rgb(...)格式的颜色,因为jQuery会将所有颜色代码转换为rgb。

但是,如果希望在style属性中使用实际值,则需要解析属性本身以找到答案:

代码语言:javascript
运行
复制
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"
票数 1
EN

Stack Overflow用户

发布于 2012-07-06 00:36:30

尝试使用css()而不是attr()

代码语言:javascript
运行
复制
 alert($("div", data).css("background"));

要只获取颜色,您需要传递background-color而不是background。这也适用于其他CSS属性。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11348734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档