jquery 关于table的子标签tbody

<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
</table>

上面是一段很简单的html代码,工作中用到了这样一个table

?
<table>
<tr><th>1</th></tr>
<tbody></tbody>
</table>

 我想通过jquery动态操作tbody的html();

然后我写了这样的代码:

1 var html = "<tr><td>我是tbody</td></tr>";
2 
3 $("table tbody").html(html);

然后我发现页面变成了

?
< table >
< tr >< td >我是tbody</ td ></ tr >
< tbody ></ tbody >
</ table >

 经过一番测试,发现用js获取table下tbody 通过table下的子元素tbody这种方式不一定会得到我们想要的结果。

因为 table标签  默认会有一个tbody 这个tbody就是table下面所有的tr。

所以当我们在table下没有写tbody或者thead的时候

$("table tbody")就相当于$("table");
如果我们在table下只写了tbody标签,并没有把所有的tr包含进去,那么$("table tbody")会获得与我们恰好相反的结果,也就是上面的代码,会把我们自己声明的tbody里的内容排除在外,取得table里面tbody外面的内容。

好了!简单的问题。解决方案也很简单:
?
< table >
< thead >< tr >< th >head</ th ></ tr ></ thead >
< tbody >< tr >< td >body</ td ></ tr ></ tbody >
</ table >

 不要偷懒,用标准的写法,将thead  tbody写全,就不会出问题了,妥妥儿的@@

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值