发布网友 发布时间:2022-04-22 06:20
共2个回答
热心网友 时间:2022-04-26 00:16
先说一下,在加载HTML画面的时候, html代码和Javascript代码是由上到下一行行执行的.. 在你用
document.all["XXX"]
getElementById("XXX")
getElementsByTagName("XXX")
等方法获取画面控件对象的时候, 一定要保证相应的对象在调用方法之前已经存在与画面上了.如果你这样写:
<html>
<head>
<script language="javascript" type="text/javascript">
document.all["kk"].checked == true;
</script>
</head>
<body >
<input type="checkbox" id="kk">
</body>
</html>
当解释程序执行到 :document.all["kk"].checked == true; 这一句的时候,<input type="checkbox" id="kk">还没有执行. 所以你画面上并没有id为"kk"的checkbox控件. 这个时候, document.all["kk"]获得的实际上是一个undefined值.
为了能够保证在调用相应的获取方法的时候,相应的对象已经存在与画面上,你可以采用下面两种方式:
第一种方式,就是把你的javascript代码放到对应控件的html代码后面
第二种方式, 就是把所有的代码放到body的onload事件方法中.
下面说说你的问题 :
第一个问题:把你的代码改为: document.all['kk'].checked=true; 就可以选中那个checkbox了.
第二个问题:document.all['kk'].checked 或 document.all('kk').checked,用[]或()都可以,用[], 是因为document.all可以看作是一个关系型数组.至於用()这个我也不太清楚.另外,Javascript中,单引号或双引号之间的内容都能表示一个字串,只要能保证开头用的哪个,字串结尾也用哪个就行了.
第三个问题: 这个问题.. 因为你没有贴上完整的代码, 所以只能大体猜测一下. 应该是 document.all['kk']没有得到相应对象, 而是取到一个undefined值, 然后又调用其checked属性,导致代码异常. 所以你应该自己看一下, 在你流览器左下角有没有异常信息抛出来.
第四个问题: (同上)
热心网友 时间:2022-04-26 01:34
1、document.all['kk'].checked=true;
因为这是赋值,肯定要有个等于号
2、document.all['kk']
方括号代表数组,圆括号代表函数名,单引号和双引号是一个意思
3、4
这两个问题很简单,你弹出document.all['kk'].checked的值即可知道是等于true还是false了