【问题标题】:how to display single array data in multiple sections --javascript如何在多个部分中显示单个数组数据--javascript
【发布时间】:2020-05-18 19:06:49
【问题描述】:

我有两个部分.. 第 1 部分:- 显示最新的 3,第 2 部分:- 显示所有数据.. 是否可以使用单个数组数据?

let t_p_data = [
    {id: 1,}, {id: 2,}, {id: 3,}, {id: 4,}, {id: 5,},
];
let paymentsData = $('.payments-data');
let paymentsList = paymentsData.innerHTML;
for (let p_data of t_p_data.slice(-3).reverse()) {
    paymentsList += `<tr><td><a href="" target="">${p_data.id}</a></td></tr>  `
}
paymentsData.append(paymentsList);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
    <tbody class="payments-data"><tr><td><h1>Latest Three</h1></td></tr></tbody>
    <tbody class="payments-data"><tr><td><h1>All</h1></td></tr></tbody>
</table>

【问题讨论】:

    标签: javascript html jquery arrays


    【解决方案1】:

    latest 可以切片、反转、映射然后加入,all 只需映射和加入。

    您可以使用 jQuery 的 .after() 在第一个 tr 之后直接添加元素。要在最后一个孩子之后添加新内容,请使用 tr:last-child

    const t_p_data = [
      {id: 1,}, {id: 2,}, {id: 3,}, {id: 4,}, {id: 5,},
    ];
    
    const createItem = ({ id }) =>
      `<tr><td><a href="" target="">${id}</a></td></tr>`;
        
    
    $('.payments-data.latest tr').after(
      t_p_data
        .slice(-3)
        .reverse()
        .map(createItem)
        .join('')
    );
    
    $('.payments-data.all tr').after(
      t_p_data
        .map(createItem)
        .join('')
    );
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <table>
        <tbody class="payments-data latest"><tr><td><h1>Latest Three</h1></td></tr></tbody>
        <tbody class="payments-data all"><tr><td><h1>All</h1></td></tr></tbody>
    </table>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2012-08-26
      • 2021-07-19
      • 2017-01-27
      • 1970-01-01
      • 2023-01-20
      • 2015-03-26
      相关资源
      最近更新 更多