如何在JQuery中从Attribute中设置CSS值

时间:2016-01-10 18:08:49

标签: jquery

我需要从属性中设置元素的背景颜色。目前我正在尝试:

$( '[myAttr]' ).css( 'background-color', $( this ).attr( 'myAttr' ) );

但是$( this ).attr( 'myAttr' )返回未定义。

有办法做到这一点吗?

3 个答案:

答案 0 :(得分:1)

在您的示例中,this未引用[myAttr]元素,因为没有范围。

您可以传递一个匿名函数(以​​便您可以访问this),并返回属性值:

$('[myAttr]').css('background-color', function () {
  return $(this).attr('myAttr');
});

答案 1 :(得分:0)

this在回调之外无关紧要。做这样的事......

$('[myAttr]']).each(function() {
  $(this).css('background-color', $(this).attr('myAttr'))
})

答案 2 :(得分:0)

this可能没有引用该元素。试试如下。

var elm = $('[myAttr]');
elm.css('background-color', elm.attr('myAttr'));