おはようございます。数字を奇数と偶数のカテゴリに分類するコードがあります。これは、数値を調べて、必要に応じて新しいカテゴリを作成することによって行われます。新しいカテゴリが作成された直後に、番号を含む新しい行が追加されます。問題は、新しいカテゴリの最初の要素をスキップする傾向があることです (つまり、1 と 2 は対応するカテゴリに含まれません)。
カテゴリを再度検索することでこれを解決できます(コメントアウトされたコード(jsfiddle l:12))が、addNewCategory関数から新しく作成されたカテゴリ要素を取得したいのですが、それは可能ですか?
var content = $('#content');
// add one row to the category
var addRow = function (number) {
var categoryId = (number % 2 == 0 ? 'even' : 'odd'),
$category = content.find('#category_' + categoryId)
;
// category exists?
if(!$category.length) {
$category = addNewCategory (number);
//$category = content.find('#category_' + categoryId);
}
// prepare new row
var row = '<div class="row">' + number + '</div>';
$category.append(row);
};
// add new category
var addNewCategory = function(number) {
var categoryId = (number % 2 == 0 ? 'even' : 'odd'),
category = '<div class="category" id="category_' + categoryId + '">' + categoryId + '</div>';
content.append(category);
return $(category);
};
// start
for(var i = 1; i < 10; i++) {
addRow(i);
}
jsfiddle: jsfiddle