0

我需要TABLEDIV标签中找到 a 并对标头进行修改。可用的报告工具不允许识别生成的表,但允许脚本和DIV插入。

考虑下表,其中标题是第一行:

<div id="ScrollHeader">
  <table>
    <tr>
      <td>Browser</td>
      <td>Visits</td>
      <td>Pages/Visit</td>
      <td>Avg. Time on Site</td>
      <td>% New Visits</td>
      <td>Bounce Rate</td>
      <td>Avg. Time on Site</td>
      <td>% New Visits</td>
      <td>Bounce Rate</td>
    </tr>
    <tr>
      <td>Firefox first</td>
      <td>1,990</td>
      <td>3.11</td>
      <td>00:04:22</td>
      <td>70.00%</td>
      <td>32.61%</td>
      <td>00:04:22</td>
      <td>70.00%</td>
      <td>32.61%</td>
    </tr>
    <tr>
      <td>Firefox</td>
      <td>1,990</td>
      <td>3.11</td>
      <td>00:04:22 test test test</td>
      <td>70.00%</td>
      <td>32.61%</td>
      <td>00:04:22</td>
      <td>70.00%</td>
      <td>32.61%</td>
    </tr>
  </table>
</div>

我需要一个 JavaScript 或 jQuery 代码来将表格转换为以下内容:

<div id="ScrollHeader">
  <table>
    <thead>
      <tr>
        <th>Browser</th>
        <th>Visits</th>
        <th>Pages/Visit</th>
        <th>Avg. Time on Site</th>
        <th>% New Visits</th>
        <th>Bounce Rate</th>
        <th>Avg. Time on Site</th>
        <th>% New Visits</th>
        <th>Bounce Rate</th>
      </tr>
    </thead>
    <tr>
      <td>Firefox first</td>
      <td class="numeric">1,990</td>
      <td class="numeric">3.11</td>
      <td class="numeric">00:04:22</td>
      <td class="numeric">70.00%</td>
      <td class="numeric">32.61%</td>
      <td class="numeric">00:04:22</td>
      <td class="numeric">70.00%</td>
      <td class="numeric">32.61%</td>
    </tr>
  </table>
</div>

代码需要识别其中的表,在第一行之前<div id="ScrollHeader">插入,将第一行中的更改为并用 关闭它 。THEADTRTDTH</thead>

我曾尝试使用$("div p[id^='ScrollHeader']").length来查找DIV$("tr:first")执行<table>.prepend(document.createElement('thead'));但没有成功。

4

2 回答 2

0

尝试这个:

$('#ScrollHeader table tr:eq(0)').wrap('<thead />');
$('#ScrollHeader table tr:eq(0) td').each(function () {
    $('#ScrollHeader table tr:eq(0)').append($('<th />').html($(this).html()));
    $(this).remove();
});
于 2012-08-30T01:00:52.160 回答
0
$('#ScrollHeader tr:first')
    .wrap('<thead />')
    .children().each(function(){
        text = $(this).text();
        $(this).replaceWith('<th>'+text+'</th>');
    });
$('#ScrollHeader thead').insertBefore('#ScrollHeader tbody');

你可以看到它在这里工作

于 2012-08-30T01:07:41.827 回答