Jquery 如何使用attr获取样式值
我的HTML代码如下:Jquery 如何使用attr获取样式值,jquery,html,css,attr,Jquery,Html,Css,Attr,我的HTML代码如下: <i id="bgcolor" style="background-color: rgb(255, 146, 180)"></i> 但这一结果是: background-color: rgb(255, 146, 180); 现在我已经将它添加到css中,它将无法工作。我怎样才能完成这项任务 查看.css的文档: 我相信这会起作用,取代你的 $("body").css(bodyColor); 与 这会将样式更改为其他对象上的任何样式。您可以使
<i id="bgcolor" style="background-color: rgb(255, 146, 180)"></i>
但这一结果是:
background-color: rgb(255, 146, 180);
现在我已经将它添加到css中,它将无法工作。我怎样才能完成这项任务
查看.css的文档:
我相信这会起作用,取代你的
$("body").css(bodyColor);
与
这会将样式更改为其他对象上的任何样式。您可以使用
$(“#bgcolor”).css(“backgroundColor”)代码>以获取颜色。这就是您要查找的内容(此代码有效):
但是,您应该使用css
,而不是使用attr
,因此代码将是:
$("#bgcolor").mouseleave(function(){
var bodyColor = $(this).css("background-color");
$("body").css("background-color", bodyColor);
});
你想用attr()
而不是css()
来获取样式有什么原因吗?请参考。你会在那里得到解决方案:)是我错了,还是背景色
?@Andreas:,它们在jQuery下都是有效的/等效的。@Andreasniedermir从文档中可以看出:此外,jQuery可以同样地解释多个单词属性的CSS和DOM格式。例如,jQuery理解并返回.css({'background-color':'ife','border left':'5px solid#ccc'})和.css({backgroundColor:'ife',borderLeft:'5px solid#ccc'})的正确值。请注意,对于DOM表示法,属性名称周围的引号是可选的,但是对于CSS表示法,由于名称中的连字符,它们是必需的。“这就是我想要的答案。谢谢@dwaddell。有没有更好的事件我可以用colorpicker代替mouseleave?有没有更好的事件我可以用colorpicker代替mouseleave?有没有更好的事件我可以用colorpicker代替mouseleave?@Zenith,lol.Dilini,这取决于你需要做什么。你需要它做什么?@DiliniWasana:你可以jquery colorpicker插件。
$("body").css(bodyColor);
$("body").attr('style', $(this).attr("style"));
$("#bgcolor").mouseleave(function(){
var bodyColor = $(this).attr("style");
$("body").attr("style", bodyColor);
});
$("#bgcolor").mouseleave(function(){
var bodyColor = $(this).css("background-color");
$("body").css("background-color", bodyColor);
});
$("#bgcolor").mouseleave(function(){
var bodyColor = $(this).css("background-color");
$("body").css("background-color",bodyColor);
});