为了账号安全,请及时绑定邮箱和手机立即绑定

js 单一有序数据结构 如何在页面在生成双层有序的列表

js 单一有序数据结构 如何在页面在生成双层有序的列表

慕桂英3389331 2019-03-21 18:19:10
有如下数据:{    "data": [        {            "title": "标题1",            "link": "",            "date": "2018-6-26",            "views": 153,            "info": "简述简述简述简述简述简述简述"        },        {            "title": "标题2",            "link": "",            "date": "2018-6-25",            "views": 460,            "info": "简述简述简述简述简述简述简述"        },        {            "title": "标题3",            "link": "",            "date": "2018-6-24",            "views": 392,            "info": "简述简述简述简述简述简述简述"        },        {            "title": "标题4",            "link": "",            "date": "2018-6-23,            "views": 318,            "info": "简述简述简述简述简述简述简述"        },        {            "title": "标题5",            "link": "",            "date": "2018-6-22",            "views": 241,            "info": "简述简述简述简述简述简述简述"        },        {            "title": "标题6",            "link": "",            "date": "2018-6-21",            "views": 283,            "info": "简述简述简述简述简述简述简述"        },        {            "title": "标题7",            "link": "",            "date": "2018-6-20",            "views": 216,            "info": "简述简述简述简述简述简述简述"        }    ]}html结构如下<ul>    <li>        <div>1</div>        <div>2</div>    </li>    <li>        <div>3</div>        <div>4</div>    </li>    <li>        <div>5</div>        <div>6</div>    </li>    <li>        <div>7</div>        <div>8</div>    </li></ul>请问js如何用如上数据循环生成这样的有序html结构?
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

let html = ''

for(let i = 0;i < data.length;i++) {

    let div = `<div>${data[i].title}</div>`

    html += i % 2 === 0 ? `<li>` + div : div + `</li>`

}

if (data.length % 2 === 1) {

    html += `</li>`

}

html = `<ul>${html}</ul>


查看完整回答
反对 回复 2019-04-09
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

    var html = ''

    for(let i=0;i<a.data.length;i++){

        var _html = ''

        for(let o in a.data[i]){

            _html+=`<div>${a.data[i][o]}</div>`

        }

        html+='<li>'+_html+'</li>'

    }

    document.getElementById("app").innerHTML = '<ul>'+html+'</ul>'


查看完整回答
反对 回复 2019-04-09
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

let fragment = document.createDocumentFragment();

  let ulNode = document.createElement("ul");

  let liNodes = []

  data.map((item, index) => {

    let liNode = document.createElement("li");

    liNode.innerHTML = item.title

    liNodes.push(liNode)


    if (index % 2 !== 0) {

      let divNode = document.createElement("div");

      console.log(liNodes)

      divNode.appendChild(liNodes[index - 1])

      divNode.appendChild(liNodes[index])

      ulNode.appendChild(divNode)

    }

  })

  const dataLength = data.length;


  if (dataLength % 2 !== 0) {

    let divNode = document.createElement("div");

    divNode.appendChild(liNodes[dataLength - 1])

    ulNode.appendChild(divNode)

  }

  fragment.appendChild(ulNode)

  document.getElementById("app").appendChild(fragment)


查看完整回答
反对 回复 2019-04-09
  • 3 回答
  • 0 关注
  • 584 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信