【发布时间】:2021-10-06 16:12:18
【问题描述】:
我需要将每个 <p> 的值与 for 循环中的项目进行比较:
<div class="domtom-container">
<div class="svg-martinique" dataset-interval="">
<p> Martinique </p>
</div>
<div class="svg-nouvelle-caledonie" dataset-interval="">
<p> Nouvelle-Calédonie </p>
</div>
<div class="svg-francais-de-l-etranger" dataset-interval="">
<p> Français de l’étranger </p>
</div>
<div class="svg-guyane" dataset-interval="">
<p> Guyane </p>
</div>
<div class="svg-polynesie-francaise" dataset-interval="">
<p> Polynésie française </p>
</div>
<div class="svg-parlement-europeen" dataset-interval="">
<p> Parlement européen </p>
</div>
<div class="svg-la-reunion" dataset-interval="">
<p> La Réunion </p>
</div>
<div class="svg-st-pierre-et-miquelon" dataset-interval="">
<p> Saint-Pierre et Miquelon </p>
</div>
<div class="svg-mayotte" dataset-interval="">
<p> Mayotte </p>
</div>
<div class="svg-st-martin-barthelemy" dataset-interval="">
<p> Saint-Martin/Saint-Barthélemy </p>
</div>
<div class="svg-guadeloupe" dataset-interval="">
<p> Guadeloupe </p>
</div>
<div class="svg-walis-et-futuna" dataset-interval="">
<p> Wallis et Futuna </p>
</div>
</div>
在 js 中我做了这个,但它不起作用:
import departement_list from "../data/departements-region.json";
let myJson_departement_list,
stringified_departement_list = JSON.stringify(departement_list);
myJson_departement_list = JSON.parse(stringified_departement_list);
for (let i in myJson_departement_list) {
$(".domtom-container [dataset-interval]").each(function () {
var $this = $(this);
console.log("dept = ", myJson_departement_list[i]["dep_name"]);
console.log("paragraph = ", $this.find("p").html());
if ($this.find("p").html() == myJson_departement_list[i]["dep_name"]) {
// code here
}
});
}
json 文件包含类似的内容:
[
{
"num_dep": "01",
"code_dept": "AI",
"dep_name": "Ain",
"region_name": "Auvergne-Rhône-Alpes",
"total_parrainages": 0,
"color_dpt": ""
},
{
"num_dep": "02",
"code_dept": "AS",
"dep_name": "Aisne",
"region_name": "Hauts-de-France",
"total_parrainages": 0,
"color_dpt": ""
},
{
"num_dep": "03",
"code_dept": "AL",
"dep_name": "Allier",
"region_name": "Auvergne-Rhône-Alpes",
"total_parrainages": 0,
"color_dpt": ""
},
{
"num_dep": "04",
"code_dept": "AP",
"dep_name": "Alpes-de-Haute-Provence",
"region_name": "Provence-Alpes-Côte d'Azur",
"total_parrainages": 0,
"color_dpt": ""
},
..
..
...
.
..
当我在浏览器中检查控制台日志时,我有这个:
dept = Ain
custom-map.js:87 paragraph = Martinique
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Nouvelle-Calédonie
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Français de l’étranger
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Guyane
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Polynésie française
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Parlement européen
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = La Réunion
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Saint-Pierre et Miquelon
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Mayotte
custom-map.js:86 dept = Ain
custom-map.js:87 paragraph = Saint-Martin/Saint-Barthélemy
【问题讨论】:
-
你为什么要字符串化然后解析...?
departement_list已经是您需要的数组(即解析的 JSON)。此外,您可能需要.trim()内容,因为空格对于字符串比较很重要。
-
@ChrisG,我将 stringify 用于其他事情
-
为什么呢?
-
但没关系,我只是尝试比较标签
的每个值和上面的对象中的值列表之间的值:)
标签: javascript html for-loop