我给一个表格的第一列td加上name属性“col1”,这样我就可以用js操作表格的这一列元素了(合并相同内容)。
奇怪的是firefox可以成功合并,ie6完全没有反映,函数根本没有执行。不知道为什么,求解答!
贴你的javascript的代码,大家才可以知道你的问题来源的。
做了回复:<td name="col1">测试</td> 这句话改成<td id="col1" name="col1">测试</td> 其他代码不用变就会你在Firefox下的效果一样了。再修正下,其实td中name有没有都没有关系。 原因是在IE浏览器中div和table都是没有name属性值的。所以你要操作的话,建议你使用document.getElementById或者document.getElementsByTagName。其次在IE浏览器中id和name属性是不区分的。简单示例:
<input id="t" />
<input name="t" />
<input type="button" onclick="test();" value="button"/>
<script>
function test() {
var input = document.getElementsByName("t");
alert(input.length);
}
</script>
IE浏览器中是2,FF下是1.所以建议你不要用document.getElementsByName。使用document.getElementById或者document.getElementsByTagName来进行DOM/WebDom操作。
再补充两点:
1、HTML标签命名id和name在一个页面中最好都不要相同(避免IE混淆id和name的bug)
2、div和table等元素结合id和document.getElementsByTagName来使用,避免使用document.getElementsByName
在firefox下能成功合并,ie下没反应,说明你触发合并的那个代码在IE6下不兼容,建议发出源代码吗?这样方便找问题!
ie和firefox下对网页标准是不一样,建议统一使用id的方式。