Javascript里面的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:51:59
<html>
<head>
<title>HW Page</title>
</head>

<body id='body'>

<table id="table0">
<tr>
<td id="cell00"> <img src="cat.jpg"> </td>
<td id="cell01"> <img src="dog.jpg"> </td>
</tr>
<tr>
<td id="cell10"> <img src="snake.jpg"> </td>
<td id="cell11"> <img src="fish.jpg"> </td>
</tr>
</table>

</body>
</html>

假设以上图片文件包含有对应动物的图片
有以下三种情况。

假设分别将下面1,2,3三种情况的代码加入到table以下。(三次每次只包含一下三个的其中一个)
1.
<script type="text/javascript">
getElementById('cell00').src = "puppy.jpg";
</script>

2.
<script type="text/javascript">
var someHT

1.把getElementById都改为doucument.getElementById
2.
对于第一段js代码,因为getElementById('cell00')得到的是td而不是img元素,且td没有src元素,所以设置该值页面不会发生变化(IE中该td元素增加一个src属性,且值为puppy.jpg,火狐中会出错)所以要改图片的src的话就用
documen.getElementById('cell00').childNodes[0].src="puppy.jpg"(火狐会有问题,因为火狐会得到两个子节点,第一是文本节点,没有src属性,IE只返回一个img节点,所以IE不会出错);这样就可以把图片改变了
对于第二段js代码:someHTML的值是:<img src="cat.jpg">
所以调用getElementById('cell11').innerHTML 后,cell11里面的图片会变成cat.jpg;
对于第三段js代码:因为第三段代码放在<table>后,所以在document.getElementById('body').innerHTML里面也包含了这段js代码,所以一开启页面就会发现一直在加载图片(死循环),从上到下一直是这4张图片的循环,所以最好不要这样用,最好是写在一个方法里!

我能问一下?
document.getElementById('cell11')这样是通过id取元素,你getElementById('cell11')这样也可以???

1 你取的是td的id,td哪有src属性啊,会报属性异常。
2 貌似没什么问题。
3 不会出错,页面会改变,页面输出 的是整个table,而没有其他如<html><body>等标记。

情况1:错误,不会把那种图片加入到table中。属性不存在。
情况2:getElementById('cell11').innerHTML = getElem