html格式写错了  把<form>标签去掉

解决方案 »

  1.   

    严格来说这两种写法都是不正确的,应该是:
    alert(document.getElementById("a2").value);
    而 div 是不存在 width 这个属性的,所以:
    alert(document.getElementById("a1").width); 是不正确的。
      

  2.   

    alert(a1.width)//DIV中属性width 你可以用ID.属性 
    alert(a2.value)//取的里面值HTML里取值一般用document.getElementById("a2").value;取的里面的值
    在HTML 里有2种属性 1,HTML本身属性(ID.属性名) 2:自定义属性:   a2的value其实就是自定义属性(document.getElementById("ID").属性名)
    给你举简单例子
    <body> 
    <div id="a1" width="50px"> 
    <form> 
    <input type="text" id="a2" value="14589" aaaa="asdasdasdasdasdasdasd"> 
    </form> 
    <script> 
      alert(a1.width);  
    //我想取我自定义的aaaa属性的值就必须
      alert(document.getElementById("a2").aaaa);
    </script> 
    </body>
    输出的值:50PX  和   asdasdasdasdasdasdasd  
      

  3.   

    <input type="text" id="a2" value="14589"> text是用name="a2",而不是id="a2"
      

  4.   

    LZ,看下面代码,几个对象之间作用域的问题,你的写法全部写出来就是<body> 
    <div id="a1" width="50px"> 
    <form> 
    <input type="text" id="a2" value="14589"> 
    </form> 
    <script> 
      alert(window.a1.width); // 第1个没问题
      alert(window.a2.value); // 一把大叉叉
    </script> 
    </body>
    而正确的是:<body> 
    <div id="a1" width="50px"> 
    <form> 
    <input type="text" id="a2" value="14589"> 
    </form> 
    <script> 
      alert(window.a1.width); // 第1个没问题
      alert(window.document.forms[0].a2.value); // alert(document.form[0].a2.value);实际上就可以了,或者就像1F说的,把<form>去掉,那你写法就对了
    </script> 
    </body>
      

  5.   

    为什么去掉<form>就可以呢?不是标签里有了ID属性值,这个id就可以作为对象的吗?
      

  6.   

    原因是:什么都不写是IE下有的一种特殊形式,意为window.后面的,
    而a2在DOM结构上多了一层,在window下只有form对象,即向上面那样写实际上是window.a2所以找不到,应为window.form的name.a2,
    可能表述的不好,大体上就是一个树形结构
    这种写法不符合W3C标准,不建议使用的
      

  7.   

    恩,只要对js客户端对象稍做了解就知道了
    另,最好还是用getElementById标准些
      

  8.   

    a1是window的属性a2是form的属性
      

  9.   

    a1.width和a2.value这样的写法其实都省略了一个window.document
    应该是window.document.a1.width和window.document.a1.width.a2.value
    但是a2在form里,所以document底下没有a2这个对象,所以就访问不到了
    应该这样form1.a2.value当然这样的访问方式需要设置那么属性
      

  10.   

    用jquery,利用attr获取a2的value属性即可~
      

  11.   

    首先js的执行环境中,全局对象是window,window下定义的所有东西都是它的属性 
    都可以通过window.XXX或者self.XXX访问到,当然,一般省略不写 
    window下面是document,document是作为window的属性,它又有自己的属性 
    就是定义在它里面的那些东西了,而form恰好又是document的属性,form下面定义的表单元素 
    是不是form自己的属性?关系推过来不就是:window.document.forms[0].a2 
    然而你什么都不写就是:window.a2,它当然不认识了