六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 250|回复: 0

td的rowspan属性在IE和FF下的不同

[复制链接]

升级  94%

11

主题

11

主题

11

主题

童生

Rank: 1

积分
47
 楼主| 发表于 2013-1-29 13:54:46 | 显示全部楼层 |阅读模式
 1、是否存在的判断
    IE下,不管有没有设置rowspan这个属性,IE均认为有此属性,且默认值为1。而FF中,则根据DOM中的设置进行判断,DOM中没有写rowspan,则不认为td具备此属性。
    因此用JQUERY判断某行的具有多行特性的TD用下面这种方法是不行的。
    $("table tr:eq(0) td[rowspan]").length 
    这个写法,在IE下为所有的TD数量,但是在FF下得到的是DOM中写了ROWSPAN值的TD数量
    可以这样写:
        $("table tr:eq(0) td").filter(function(){
               return $(this).attr("rowspan")>1
        }).length
   IE,FF,得到的均为7
  
   2、删除某行后,ROWSPAN的变化
    IE在删除一行后,会自动把对应的rowspan的值减1。而FF不减,它的值严格按照最初写的DOM中的ROWSPAN,需要您亲自写代码把rowspan的值减掉1
 
<script language="javascript">    $(document).ready(function(){        alert($("table tr:eq(0) td[rowspan]").length);        alert($("table tr:eq(0) td:not([rowspan])").length);        alert($("table tr:eq(0) td").filter(function(){               return $(this).attr("rowspan")>1         }).length);                    $("input").click(function(){            $("table tr:eq(1)").remove();            alert($("table tr:eq(0) td:eq(0)").attr("rowspan"));        });       });</script> 
<body><table >                    <tr><td rowspan=4>参数名称1<br/><a>新增</a><a>删行</a></td><td rowspan=4>字段名</td><td rowspan=4>编号</td><td rowspan=4>本参数值用于进行用户的设置</td><td>参数值1</td><td>参数值名1</td><td><a>修改</a><a>删除</a></td></tr>    <tr><td>参数值2</td><td>参数值名1</td><td><a>修改</a><a>删除</a></td></tr>    <tr><td>参数值3</td><td>参数值名1</td><td><a>修改</a><a>删除</a></td></tr>    <tr><td>参数值4</td><td>参数值名1</td><td ><a>修改</a><a>删除</a></td></tr></table><input type="button" value="click me"></body> 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表