急急,请问javascript的all问题?

发布网友 发布时间: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了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com