如何使用自己的数据属性设置css属性?

时间:2012-05-14 18:56:39

标签: jquery css custom-data-attribute

说我有这个小片段:

<p data-color="red">Hello world</p>

我想将其颜色设置为自己的数据属性,如下所示:

$('p').css({

    color: $(this).data('color')
});

出于某种原因,这不起作用。任何人都知道我做错了什么?

3 个答案:

答案 0 :(得分:3)

this指的是其他内容,而不是p。尝试将其放入函数中。

$('p').css('color', function() { return $(this).data('color'); });

答案 1 :(得分:3)

​$('p').css('color', function() {
    return $(this).data('color');
});​​

<强> DEMO

答案 2 :(得分:2)

您可以在设置css属性之前将整个数据存储在对象中以避免循环。类似的东西:

var $p = $('p'),
    data = $p.data();

$p.css({
    color: data.color,
    fontSize: data.fontSize
});​

http://jsfiddle.net/aYpXZ/