JQ和JS动态拆分表格的方法

<tablewidth="100%"border="0"style="text-align:center;"><tr><td>编号</td><td>项目</td><td>... <table width="100%" border="0" style="text-align:center;">
<tr>
<td>编号</td>
<td>项目</td>
<td>产品</td>
<td>对比</td>
<td>类别</td>
</tr>
<tr>
<td>1</td>
<td>项目1</td>
<td>产品</td>
<td>产品1VS产品2</td>
<td>类别</td>
</tr>
<tr>
<td>2</td>
<td>项目2</td>
<td>产品</td>
<td>产品3</td>
<td>类别</td>
</tr>
<tr>
<td>3</td>
<td>项目3</td>
<td>产品</td>
<td>产品4VS产品5</td>
<td>类别</td>
</tr>
....
</table>
表格代码如上,请问如何用JS或者JQ把对比栏里的VS前后拆分成两列?
效果如图,上面是原图,下面是拆分后的
展开
 我来答
精神小伙喵
推荐于2016-09-07 · TA获得超过684个赞
知道小有建树答主
回答量:746
采纳率:50%
帮助的人:723万
展开全部

 

jquery的,往里加了个table,拆分的话,动的单元格就多了,

宽度是30%,你自己可以调整一下

更多追问追答
追问

不好意思,提问的时候有疏忽,漏掉了一点,就是第一行的下面还有一行的,原代码是这样的

追答
应该不要紧的,代码是查找出含有"VS"这两个字符的单元格,然后拆分内容,并插入一个表格
如果缺的那行不包含VS就无所谓了,
百度网友46b235f5b2
2013-07-02 · TA获得超过1397个赞
知道小有建树答主
回答量:676
采纳率:100%
帮助的人:628万
展开全部
<script src="js/jquery-1.7.2.min.js"></script>
<script>
  $(function(){
      $('tr>td:not(:contains("VS"))').attr({'colspan':3});
        $('tr>td:contains("VS")').each(function(){
          var _1 = $(this).html();
          var _2 = _1.split("VS");
          $(this).html(_2[0]).after('<td>'+_2[1]+'</td>').after('<td>VS</td>');
      })
  });
</script>
<style>
  table{
    border-top: 1px solid #eeeeff;
    border-right: 1px solid #eeeeff;
  }
  td{
    border-left: 1px solid #eeeeff;
    border-bottom: 1px solid #eeeeff;
  }
</style>
<table width="100%" border="0" style="text-align:center;">
  <tr>
    <td>编号</td>
    <td>项目</td>
    <td>产品</td>
    <td>对比</td>
    <td>类别</td>
  </tr>
  <tr>
    <td>1</td>
    <td>项目1</td>
    <td>产品</td>
    <td>产品1VS产品2</td>
    <td>类别</td>
  </tr>
  <tr>
    <td>2</td>
    <td>项目2</td>
    <td>产品</td>
    <td>产品3</td>
    <td>类别</td>
  </tr>
  <tr>
    <td>3</td>
    <td>项目3</td>
    <td>产品</td>
    <td>产品4VS产品5</td>
    <td>类别</td>
  </tr>  
</table>
追问

不好意思,提问的时候有疏忽,漏掉了一点,就是第一行的下面还有一行的,原代码是这样的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
loveandkissyou
2013-07-02 · TA获得超过2297个赞
知道大有可为答主
回答量:2332
采纳率:0%
帮助的人:2522万
展开全部
$("table td:not(:contains('VS'))").attr("colspan", "3");
$("table td:contains('VS')").each(function () {
    var text = $(this).text().split("VS");
    $(this).text(text[0]).after("<td>" + text[1] + "</td>").after("<td>VS</td>")
});
追问

不好意思,提问的时候有疏忽,漏掉了一点,就是第一行的下面还有一行的,原代码是这样的

追答
$("#tbl2 tr").each(function (i) {
    if (i == 0) {
        $(this).find("td:eq(3)").attr("colspan", "3");
        return;
    }
    if (i == 1) {
        $(this).find("td:eq(0)").attr("colspan", "7");
        return;
    }
    var td = $(this).find("td:eq(3)")
    if (td.text().indexOf('VS') != -1) {
        var text = td.text().split("VS");
        td.text(text[0]).after("<td>" + text[1] + "</td>").after("<td>VS</td>");
    } else {
        td.attr("colspan", "3");
    }
});

 

<table id="tbl2" width="100%" border="1" style="text-align: center;">

    <tr>

        <td>编号</td>

        <td>项目</td>

        <td>产品</td>

        <td>对比</td>

        <td>类别</td>

    </tr>

    <tr>

        <td>这里漏掉一行</td>

    </tr>

    ...

</table>

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式