Jquery关于table的不解

Jquery真的比较好玩,跨浏览器的支持真地很不错,但是又很有意思。

今天做到在一个table里面动态添加tr的一个效果,我没有用add object tr 然后td这样的做法,虽然是dom正宗,但是感觉繁琐,所以呢,就预先把结构写出来,然后想要添加,直接添加这段html就好了。

然后我第一次写的是一个div容器,里面放这个tr
结构就是
<div id="testID">
    <tr>中间略......</tr>
</div>
然后
在$("#testID").html()获得内部的HTML,IE里面没有问题,但是在FF里面我突然发现,网页变形了,好奇怪。
然后我开始ffdebug调试,html内容居然把tr,td都去掉了,而只剩下td内部的元素。然后想想,既然是标转化的xhtml文档,当然就需要标准化的内容,所以div内嵌套tr,td当然是不标准的。
然后我修改了一下拿table做容器,这下也是正常的方式。但是这时候,不仅在FF里面变形了,而且在IE里面也变形了。好吧,继续ffdebug.发现居然html()自己多加了一个tbody,这个。。。。。。
为了这个tbody,我马上去查xhtml标准,毕竟用第一次的经验去理解是因为标准这样,但是查了一下,真的是没有这个东西。呵呵,所以呢,看来jquery还是比较有意思的,不知道为什么一定要在table里面加tbody,那你什么时候加thead呢?呵呵,玩笑了。

那么最后说答案吧,其实刚才说了,用div做容器肯定是不行了,table做容器自动添加了一个tbody,那么OK,这个算是一个bug吧,同时也是解决问题的关键。
$("#testID").html() 这个修改成 $("#testID tbody").html() 搞定,呵呵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值