イベントを生成されたHTMLにバインドする場合は、のようなものを使用する必要がありますが、次のようなイベントをバインドする場合に.on()
のみ使用しました。.click().
色のリストを適用するWebアプリを作成しています。色はJSONファイルから生成されます。フェッチしたら、属性に特定の情報を含めてページに追加します。新しく生成されたHTMLであるlist-elementsで何かをしたいと思います。しかし、console.log()
私に見せているのは、親には何もないということですul
。ページに新しく追加されたコンテンツが表示されますが。
これがそれに基づいたコード全体です。
var setColors = function(){
getColors = function(){
$.getJSON('js/colors.json', function(colors) {
$.each(colors, function(i, colors) {
//console.log(colors);
$('<li>', {
text: colors['color'],
'name' : colors['color'],
'data-hex' : colors['hex'],
'data-var' : colors['var']
}).appendTo('#picker');
})
});
addColors();
}
addColors = function(){
var el = $('#picker').children;
$(el).each(function(){
console.log($(this));
});
}
return getColors();
}
$(function(){
setColors();
});
addColors()は私が問題を抱えているところです。エラーには、「Uncaughtofnull」TypeError: Cannot read property 'firstChild'
と表示されます。新しく生成されたHTMLをどのように操作できますか?