我的应用程序中有以下代码。前两行在表中绘制一个项目就好了。但是当我只想获得这个项目的颜色时(#34;#FFFFFF")它返回undefined。 这些行完全按照这个顺序排列,它们之间没有任何内容。
var $item = $('#10.row').find('#3.col');
$item.attr('bgcolor', '#FFFFFF');
console.log($item.css('bgcolor'));
答案 0 :(得分:2)
请注意,$item.attr('bgcolor', '#FFFFFF')
会使HTML看起来像这样:
<div id="10" class="row">
<!-- bgcolor attribute added by JQuery: -->
<div id="3" class="col" bgcolor="#FFFFFF"></div>
</div>
要设置并获取CSS背景颜色,请使用以下其中一种(两者在JQuery中都有效):
// Only use second parameter to set in both cases.
$item.css( "background-color", "#FFFFFF" )
// OR
$item.css( "backgroundColor", "#FFFFFF" )
输出如下:
<div id="3" class="col" style="background-color:#FFFFFF;"></div>
如果您确实要添加HTML属性bgcolor
,可以像这样获取该属性:
console.log($item.attr('bgcolor'));
所以最终的JS看起来像这样:
var $item = $('#10.row').find('#3.col');
$item.css('background-color', '#FFFFFF');
console.log($item.css('background-color'));
或者像这样:
var $item = $('#10.row').find('#3.col');
$item.attr('bgcolor', '#FFFFFF');
console.log($item.attr('bgcolor'));
答案 1 :(得分:0)
您正在设置(已弃用)bgcolor
属性,然后尝试访问CSS(不存在的)bgcolor
CSS属性,这两个属性都不存在,并且未设置。< / p>
如其他地方所述,要设置background-color
*设置background-color
:
var $item = $('#10.row').find('#3.col');
$item.css('background-gcolor', '#FFFFFF');
console.log($item.css('background-color'));
这两个不可互换或等效,并且不再使用bgcolor
。