私はレストランやパブを示す小さなアプリケーションを書いています。私はカテゴリ別にデータをフィルタリングする関数を追加したいと思います。外部* .jsonファイルからスクリプトのデータを取得します。 「バー」と「レストラン」の2つのカテゴリしかありません。サイトのデータをフィルタリングする最良の方法
既存の要素をフィルタリングするヒントを教えていただければ幸いです。あなただけのバーを表示する場所を持つカードの生成後、ボタン "バー"をクリックし、サイト上にバーがあるので、レストランは隠されています。
function updateData() {
var results = document.getElementById("results");
for (var i = 0; i < places.length; i++) {
results.innerHTML += '<div class="result text-center">' +
'<img class="rest-img img-thumbnail" width="236" height="236" src="img/img1.jpg">' +
'<h2 class="rest-name">' + places[i].name + '</h2>' +
'<p class="rest-category">' + places[i].category + '</p>' +
'<p class="rest-address">' + places[i].address + '</p>' +
'<i class="fa fa-beer" aria-hidden="true"></i><p class="rest-beer-price">' + places[i].price + ' PLN</p>';
}
}
function showBars() {
//Code to filter bars
}
var warsaw = document.getElementById("warsaw");
warsaw.addEventListener("click", updateData);
多くのお手伝いをいただきありがとうございます。 filter
コマンドがtrue
のリターンを除外するものと虚偽を維持することを期待
function filterByCategory(list, category) {
return list.filter(function(item) {
return (item.category === category);
});
}
:
が、 'HTMLマークアップを使用して新しい要素を追加する(...あなたのHTML ...、 "beforeend")' results.insertAdjacentHTMLを使用してください。 'results.innerHTML + = ...'を使うと、最終的に遭遇する多くの問題があります。 –
私はそれを私の心に残しておきます、ありがとう! –