1

この小さなスニペットがあるとしましょう:

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

次のように、色を独自のデータ属性に設定したいと思います。

$('p').css({

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

何らかの理由で、それは機能しません。誰かが私が間違っていることを知っていますか?

4

3 に答える 3

3

thisではなく、他の何かを指しますp。関数に入れてみてください。

$('p').css('color', function() { return $(this).data('color'); });
于 2012-05-14T18:59:46.733 に答える
3
​$('p').css('color', function() {
    return $(this).data('color');
});​​

デモ

于 2012-05-14T19:01:12.210 に答える
2

ループを回避するために、cssプロパティを設定する前に、データ全体をオブジェクトに格納できます。何かのようなもの :

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

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

http://jsfiddle.net/aYpXZ/

于 2012-05-14T19:08:59.143 に答える