You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同父容器下同class的Div显示效果不一致问题求助

冰球球员数据排序项目:手动与动态生成Div的显示差异问题

我正在开发一个冰球球员数据排序项目,完成排序功能后发现:同一父容器内,手动编写的两个带joueur类的Div,与通过JavaScript for循环动态生成的同class Div显示效果存在差异。经检查两类Div的类名、内部元素、所处位置均一致,但无法定位问题原因,相关代码如下:

HTML代码

<pre id="stats-hockey">
        Connor McDavid;EDM;24;80;44;79;123;45;28;22:03;314
        Johnny Gaudreau;CGY;28;82;40;75;115;26;64;18:34;262
        Jonathan Huberdeau;FLA;28;80;30;85;115;54;35;19:25;222
        Leon Draisaitl;EDM;26;80;55;55;110;40;17;22:20;278
</pre>
<!--J.T. Miller n'est pas en ordre à cause du point-->

<div id="liste">

  <div class="joueur">
    <div class="nom">Bill Barilko</div>
    <div class="equipe">TOR</div>
    <div class="buts">buts: 8</div>
    <div class="tirs-au-but">tirs: 35</div>
  </div>
  <div class="joueur">
    <div class="nom">Alexander Mogilny</div>
    <div class="equipe">BUF</div>
    <div class="buts">buts: 76</div>
    <div class="tirs-au-but">tirs: 323</div>
  </div>

</div>

CSS代码

* {
  box-sizing: border-box;
}

#stats-hockey {
  visibility: hidden;
  height: 0px;
}

.joueur {
  position: relative;
  width: 700px;
  border-bottom: 1px solid white;
  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

.nom {
  display: inline-block;
  background-color: lightblue;
  font-weight: bold;
  width: 280px;
}

.equipe {
  display: inline-block;
  background-color: rgb(153, 194, 192);
  width: 65px;
  text-align: center;
}

.buts {
  display: inline-block;
  background-color: lightblue;
  padding-left: 10px;
  width: 165px;
}

.tirs-au-but {
  display: inline-block;
  background-color: rgb(153, 194, 192);
  padding-left: 10px;
  width: 175px;
}

JavaScript代码

let listeDiv = document.getElementById("liste");

let elementStats = document.getElementById("stats-hockey");
let textStats = elementStats.innerHTML;

// sépare le texte au caractère "new line"
let ligneStats = textStats.split("\n"); // Est-ce que c'est correct si j'ai changé l'ordre un peu ?

class Joueur {
  nom = "";
  equipe = "";
  buts = 0;
  tirsAuBut = 0;

  constructor(_nom, _equipe, _buts, _tirsAuBut) {
    this.nom = _nom;
    this.equipe = _equipe;
    this.buts = _buts;
    this.tirsAuBut = _tirsAuBut;
  }
}

let tableauComplet = new Array();

for (let ligneIndex = 0; ligneIndex < ligneStats.length; ligneIndex++) {
  let tableauStatsIndividuelles = ligneStats[ligneIndex];
  tableauStatsIndividuelles = tableauStatsIndividuelles.trim();

  if (tableauStatsIndividuelles != "") {
    tableauStatsIndividuelles = tableauStatsIndividuelles.split(";");

    let nom = tableauStatsIndividuelles[0];
    let equipe = tableauStatsIndividuelles[1];
    let buts = tableauStatsIndividuelles[4];
    let tirsAuBut = tableauStatsIndividuelles[10];

    let joueur = new Joueur(nom, equipe, buts, tirsAuBut);
    tableauComplet.push(joueur);
  }
}

function afficherJoueurs() // Animation pour les pays
{
  //liste.innerText = "";

  for (let rangeeIndex = 0; rangeeIndex < 3; rangeeIndex++) {
    let joueur = tableauComplet[rangeeIndex];

    let joueurDiv = document.createElement("div");
    let nomDiv = document.createElement("div");
    let equipeDiv = document.createElement("div");
    let butsDiv = document.createElement("div");
    let tirsAuButDiv = document.createElement("div");

    joueurDiv.className = "joueur";
    nomDiv.className = "nom";
    equipeDiv.className = "equipe";
    butsDiv.className = "buts";
    tirsAuButDiv.className = "tirs-au-but";

    nomDiv.innerText = tableauComplet[rangeeIndex].nom;
    equipeDiv.innerText = tableauComplet[rangeeIndex].equipe;
    butsDiv.innerText = "buts : " + tableauComplet[rangeeIndex].buts;
    tirsAuButDiv.innerText = "tirs : " + tableauComplet[rangeeIndex].tirsAuBut;

    joueurDiv.append(nomDiv, equipeDiv, butsDiv, tirsAuButDiv);

    liste.append(joueurDiv);
  }

}

afficherJoueurs();

补充说明:代码中大部分为法语,因是学校项目要求,无法更改,敬请谅解。


内容的提问来源于stack exchange,提问作者rootbeer2017

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:40:16