この小さなスニペットがあるとしましょう:
<p data-color="red">Hello world</p>
次のように、色を独自のデータ属性に設定したいと思います。
$('p').css({
color: $(this).data('color')
});
何らかの理由で、それは機能しません。誰かが私が間違っていることを知っていますか?
この小さなスニペットがあるとしましょう:
<p data-color="red">Hello world</p>
次のように、色を独自のデータ属性に設定したいと思います。
$('p').css({
color: $(this).data('color')
});
何らかの理由で、それは機能しません。誰かが私が間違っていることを知っていますか?
this
ではなく、他の何かを指しますp
。関数に入れてみてください。
$('p').css('color', function() { return $(this).data('color'); });
$('p').css('color', function() {
return $(this).data('color');
});
ループを回避するために、cssプロパティを設定する前に、データ全体をオブジェクトに格納できます。何かのようなもの :
var $p = $('p'),
data = $p.data();
$p.css({
color: data.color,
fontSize: data.fontSize
});