代码之家  ›  专栏  ›  技术社区  ›  Rooney

使用br将项目排列为html

  •  3
  • Rooney  · 技术社区  · 7 年前
    var clubs = ['Ajax', 'PSV', 'Feyenoord', 'NAC', 'FC Twente', 'FC Groningen', 'FC Utrecht'];
    var add = document.getElementById('add');
    var counter = 0;
    document.getElementById('eredivisie').innerHTML = clubs;
    
    function extraClubs () {
        if (counter == 1) {
            document.getElementById('eredivisie').disabled = true;  
        } else {
        clubs.push('Excelsior', 'Sparta', 'Vitesse');
        document.getElementById('eredivisie').innerHTML = clubs;
        counter++;
        }
    };
    add.addEventListener('click', extraClubs);
    

    我有一个包含一些荷兰足球俱乐部的数组,当按下按钮时,可以向数组中添加一些足球俱乐部。两者都很好。在HTML中显示如下:

    阿贾克斯、PSV、费耶诺德、NAC、特温特、格罗宁根、乌得勒支、Excelsior、斯巴达、维特斯

    如何修复数组中的每个项目将从新行开始的问题?

    4 回复  |  直到 7 年前
        1
  •  2
  •   Jonas Wilms    7 年前

    在此行中,俱乐部被转换为字符串:

      document.getElementById('eredivisie').innerHTML = clubs;
    

    所以js会为您做这件事:

     clubs.toString()
    

    这等于:

     clubs.join(",")
    

    现在要实现所需的结果,我们需要用换行符连接数组:

      clubs.join("<br/>")
    
        2
  •  0
  •   Jack    7 年前

    将在每个项目后添加休息。

    clubs.join("<br/>");
    
        3
  •  0
  •   Ele    7 年前
    • 您可以使用该功能 map <p>team</p>
    • 然后,需要使用函数连接映射的元素 join

    var clubs = ['Ajax', 'PSV', 'Feyenoord', 'NAC', 'FC Twente', 'FC Groningen', 'FC Utrecht'];
    var add = document.getElementById('add');
    var counter = 0;
    document.getElementById('eredivisie').innerHTML = clubs.map(s => '<p>' + s + '</p>').join('');
    
    function extraClubs() {
      if (counter == 1) {
        document.getElementById('eredivisie').disabled = true;
      } else {
        clubs.push('Excelsior', 'Sparta', 'Vitesse');
        document.getElementById('eredivisie').innerHTML = clubs.map(s => '<p>' + s + '</p>').join('');
        counter++;
      }
    };
    add.addEventListener('click', extraClubs);
    <button id="add"> ADD </button>
    <p></p>
    <div id="eredivisie"></div>
        4
  •  0
  •   Ronnie Smith    7 年前

    使用JavaScript创建和附加新 block level element 对于每个数组项。默认情况下,这是“创建新行”。

    //first clear old innerHTML then
    var myText = document.createTextNode(item[i]);
    var myDiv = document.createElement("div");
    myDiv.appendChild(myText);
    document.appendChild(myDiv)
    
    推荐文章