私は$.each()
をリファクタリングしようとしているので、この手順を繰り返して別のカテゴリのJSONを取得する必要はありません。オブジェクトを通過するときにjQueryで.each()を繰り返さないようにする
JSON--
var data = {
"categories": {
"cat1": [
{
"id": "1",
"code": "6001",
"name": "Item 1",
"size": "M";
}
],
"cat2": [
{
"id": "232",
"code": "60021",
"name": "Item 31",
"size": "";
}
]
}
}
私は、私は以下の例を参照の二つの別々のコードを維持するために持っているようにちょっと迷惑である各カテゴリの$.each()
をやっている瞬間。その後、私は2つが、それぞれのdiv
同上
$.each(data.categories.cat1, function(index, value) {
var itemHtml = '<div>value.name</div>' // sample only
$('#cat1').append(itemHtml);
});
$.each(data.categories.cat2, function(index, value) {
var itemHtml = '<div>value.name</div>' // sample only
$('#cat2').append(itemHtml);
});
で各カテゴリを追加だから私はこのような何かをやってする仕事だろうと思っているが、明確にはしませんでした。
$.each(data, function(index, value) {
var itemHtml = '...';
if(data.cat1) {
$('#cat1').append(itemHtml);
} else if(data.cat2) {
$('#cat2').append(itemHtml);
}
}
彼らはとにかく同じHTMLのレイアウトを持つことになりますよう$.each()
毎回繰り返すことなくこれを行うための良い方法はあります。
各繰り返し処理を...あなたは反復処理することはできません同時に複数のオブジェクトを使用する –
あなたが持っているものはJSONではなく、たとえそうであっても有効ではありません。あなたのデータは実際に '{cat1:[...]、cat2:[...]}'のように見えるかもしれませんね? –
申し訳ありませんが、私は正しいオブジェクトを入れました。 – MrNew