根据键的值显示 JSON 文件中的值
Showing values from a JSON file according to their value of a key
我有一个 json 文件,每个对象都有 3 个键和值。描述、海报图像和流派。每个对象都是电影。我成功地附加了海报图片和描述。但现在我想将它们全部隐藏,然后在单击 link 时显示具有特定 "genre" 值的那些。我做了隐藏的东西。当我点击 "drama" link 时,jquery 隐藏所有电影海报和描述。我想添加可以再次显示具有特定 "genre" 值的代码。我该怎么做?到目前为止我写的代码如下。第一个 "drama" 是 link 的 ID,第二个是 "genre" 键的值。每 "Box" 包括一张电影海报和描述。
$("#drama").click(function() {
$(".box").hide();
if (data.movies.genre === "drama") {
$(".box").show();
};
});
您可以用自己的 id 命名每个流派框元素,然后使用通用方法来处理更改。
function showHide(element) {
if(element.id == "drama") {
$("#dramabox").show();
$("#actionbox").hide();
} elseif (element.id == "action") {
$("#actionbox").show();
$("#dramabox").hide();
}
}
然后在点击事件调用中使用它
$("#drama").click(function() {
showHide(this);
});
$("#action").click(function() {
showHide(this);
});
您可以使用数据属性来执行此操作。因此,当您构建元素时,请添加 data-genre 属性。 JQuery 可以 select 这些属性,你可以很容易地 hide/show 一组。
此外,为了提高质量,您可以在 button/link 到 show/hide 流派上使用相同的机制。
在html中:
<div class="box" data-genre="drama">DRAMA BOX</div>
<div class="box" data-genre="comedy">COMEDY BOX</div>
<div class="box" data-genre="drama">DRAMA BOX 2</div>
<div class="box" data-genre="romance">DRAMA BOX 2</div>
<button class="filter-button" data-genre="drama">Drama</button>
<button class="filter-button" data-genre="comedy">Comedy</button>
在 js 中:
$(".filter-button").click(function() {
$(".box").hide();
$(".box[data-genre=" + $(this).data('genre') + "]").show();
});
您可以在元素上添加 class 流派。元素可以有多个 classes
<div class="box drama">
然后过滤 class 以显示
$("#drama").click(function() {
$(".box").hide().filter('.'+data.movies.genre).show();
});
我有一个 json 文件,每个对象都有 3 个键和值。描述、海报图像和流派。每个对象都是电影。我成功地附加了海报图片和描述。但现在我想将它们全部隐藏,然后在单击 link 时显示具有特定 "genre" 值的那些。我做了隐藏的东西。当我点击 "drama" link 时,jquery 隐藏所有电影海报和描述。我想添加可以再次显示具有特定 "genre" 值的代码。我该怎么做?到目前为止我写的代码如下。第一个 "drama" 是 link 的 ID,第二个是 "genre" 键的值。每 "Box" 包括一张电影海报和描述。
$("#drama").click(function() {
$(".box").hide();
if (data.movies.genre === "drama") {
$(".box").show();
};
});
您可以用自己的 id 命名每个流派框元素,然后使用通用方法来处理更改。
function showHide(element) {
if(element.id == "drama") {
$("#dramabox").show();
$("#actionbox").hide();
} elseif (element.id == "action") {
$("#actionbox").show();
$("#dramabox").hide();
}
}
然后在点击事件调用中使用它
$("#drama").click(function() {
showHide(this);
});
$("#action").click(function() {
showHide(this);
});
您可以使用数据属性来执行此操作。因此,当您构建元素时,请添加 data-genre 属性。 JQuery 可以 select 这些属性,你可以很容易地 hide/show 一组。
此外,为了提高质量,您可以在 button/link 到 show/hide 流派上使用相同的机制。
在html中:
<div class="box" data-genre="drama">DRAMA BOX</div>
<div class="box" data-genre="comedy">COMEDY BOX</div>
<div class="box" data-genre="drama">DRAMA BOX 2</div>
<div class="box" data-genre="romance">DRAMA BOX 2</div>
<button class="filter-button" data-genre="drama">Drama</button>
<button class="filter-button" data-genre="comedy">Comedy</button>
在 js 中:
$(".filter-button").click(function() {
$(".box").hide();
$(".box[data-genre=" + $(this).data('genre') + "]").show();
});
您可以在元素上添加 class 流派。元素可以有多个 classes
<div class="box drama">
然后过滤 class 以显示
$("#drama").click(function() {
$(".box").hide().filter('.'+data.movies.genre).show();
});