tdのrowspan属性のIEとFFでの相違


1、存在するか否かの判定IEでは、rowspanという属性が設定されているかどうかにかかわらず、IEはこの属性があるとみなし、デフォルト値は1である.FFでは、DOMの設定に基づいて判断し、DOMにrowspanが書かれていなければ、tdがこの属性を備えているとは思わない.したがって,ある行の複数行の特性を持つTDをJQUERYで判断するには,次のような方法ではだめである.    $("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は1行を削除すると,自動的に対応する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>