div对象和input对象问题:为什么alert(a1.width)能执行;而alert(a2.value)不能执行! html格式写错了 把<form>标签去掉 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 严格来说这两种写法都是不正确的,应该是:alert(document.getElementById("a2").value);而 div 是不存在 width 这个属性的,所以:alert(document.getElementById("a1").width); 是不正确的。 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 <input type="text" id="a2" value="14589"> text是用name="a2",而不是id="a2" 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> 为什么去掉<form>就可以呢?不是标签里有了ID属性值,这个id就可以作为对象的吗? 原因是:什么都不写是IE下有的一种特殊形式,意为window.后面的,而a2在DOM结构上多了一层,在window下只有form对象,即向上面那样写实际上是window.a2所以找不到,应为window.form的name.a2,可能表述的不好,大体上就是一个树形结构这种写法不符合W3C标准,不建议使用的 恩,只要对js客户端对象稍做了解就知道了另,最好还是用getElementById标准些 a1是window的属性a2是form的属性 a1.width和a2.value这样的写法其实都省略了一个window.document应该是window.document.a1.width和window.document.a1.width.a2.value但是a2在form里,所以document底下没有a2这个对象,所以就访问不到了应该这样form1.a2.value当然这样的访问方式需要设置那么属性 用jquery,利用attr获取a2的value属性即可~ 首先js的执行环境中,全局对象是window,window下定义的所有东西都是它的属性 都可以通过window.XXX或者self.XXX访问到,当然,一般省略不写 window下面是document,document是作为window的属性,它又有自己的属性 就是定义在它里面的那些东西了,而form恰好又是document的属性,form下面定义的表单元素 是不是form自己的属性?关系推过来不就是:window.document.forms[0].a2 然而你什么都不写就是:window.a2,它当然不认识了 求助!一个给指定标签加label的问题 在做json解析list时出错了。。。请大侠们看哈是那里的问题啊? js 读取xml文件到树形菜单 json object 转 stirng 的问题 下拉菜单下拉后,点击窗体任何别的位置,下拉菜单就隐藏了 高分 用户设置页面刷新时间 javascript问题请教帮忙,谢谢 javascript中以下这条程序为什么第二次输出的不是1,而是2?? 如何得到一个textbox右上角的相对坐标或是绝对坐标? 关于表单提交时的校验(关于文本框内的数字比较和计算) JS弹出新窗口,但是不想看到弹出的页面,怎么实现? firefox 下调用 activex 问题
alert(document.getElementById("a2").value);
而 div 是不存在 width 这个属性的,所以:
alert(document.getElementById("a1").width); 是不正确的。
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
<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>
而a2在DOM结构上多了一层,在window下只有form对象,即向上面那样写实际上是window.a2所以找不到,应为window.form的name.a2,
可能表述的不好,大体上就是一个树形结构
这种写法不符合W3C标准,不建议使用的
另,最好还是用getElementById标准些
应该是window.document.a1.width和window.document.a1.width.a2.value
但是a2在form里,所以document底下没有a2这个对象,所以就访问不到了
应该这样form1.a2.value当然这样的访问方式需要设置那么属性
都可以通过window.XXX或者self.XXX访问到,当然,一般省略不写
window下面是document,document是作为window的属性,它又有自己的属性
就是定义在它里面的那些东西了,而form恰好又是document的属性,form下面定义的表单元素
是不是form自己的属性?关系推过来不就是:window.document.forms[0].a2
然而你什么都不写就是:window.a2,它当然不认识了