删除它有和生成子标题

时间:2015-06-05 19:43:42

标签: javascript jquery html css

我正在开发一个从我无法控制的服务器读取数据的应用程序,但是我需要在此表格上设置前端的样式,使其看起来像其他的一样。表格看起来像这样。

<table>
  <tr>
    <td width="30%">Date</td>
    <td width="40%">Description</td>
    <td width="17%">Result</td>
    <td width="15%">Range</td>
    <td width="8%">Comments</td>
  </tr>
</table>

<tr>块不断重复一英里。有些行的日期,结果,范围和评论只有&nbsp;,那么我想删除该行的所有数据标签并删除除描述之外的所有<td>并添加rowspan="5"

仅供参考这是我上一个问题的后续问题。只是为了给出一个要点 - 我想在每个td元素中添加数据标签,以便它们显示为移动设备使用:before

here is the link to my previous Stackoverflow post

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

我相信以下功能可以完成你想做的事情:

  1. 遍历所有<tr>
  2. 获取<{1}}内的所有内容
  3. <td>存储在索引1(说明)
  4. 过滤剩余的<td>集合,获取仅包含<td>
  5. 的集合
  6. 如果全部为空,请将其删除并调整剩余的&nbsp;
  7. 的属性

    &#13;
    &#13;
    <td>
    &#13;
    $(function() {
      $("table tr").each(function() {
        var tds = $(this).find("td"); //find all td
        var descriptionTD = tds.eq(1); //get the td for the description
        
        //get the remaining tds that only contain "&nbsp;"
        var emptytds = tds.not(descriptionTD).filter(function() {
          return $(this).html() === "&nbsp;";
        });
        
        //if all the remaing tds are empty
        if (emptytds.length === tds.length - 1) {
          emptytds.remove();
          descriptionTD.prop("colspan", tds.length).prop("width", "100%");
        }
      });
    });
    &#13;
    &#13;
    &#13;