关于javascript中document的问题:为空或不是对象
2011-06-05 21:06
525 查看
写一个全选checkbox的js,用下面这段代码:
function selAll() {
var len = document.Content_form.elements.length;
var i;
if (document.Content_form.ck.checked) {
for (i = 0; i < len; i++) {
if (document.Content_form.elements[i].type == "checkbox") {
documentContent_form.elements[i].checked = true;
}
}
}
else {
for (i = 0; i < len; i++) {
if (document.Content_form.elements[i].type == "checkbox") {
document.Content_form.elements[i].checked = false;
}
}
}
始终报错:document.Content_form.elements为空或不是对象,非常确定不是ID写错的问题,后来在页面打开源代码发现这么一段:
var theForm = document.forms['Content_form'];
if (!theForm) {
theForm = document.Content_form;
}
没有报错,遂将代码修改如下:
function selAll() {
var theForm = document.forms['Content_form'];
if (!theForm) {
theForm = document.Content_form;
}
var len = theForm.elements.length;
var i;
if (theForm.elements['ck'].checked) {
for (i = 0; i < len; i++) {
if (theForm.elements[i].type == "checkbox") {
theForm.elements[i].checked = true;
}
}
}
else {
for (i = 0; i < len; i++) {
if (theForm.elements[i].type == "checkbox") {
theForm.elements[i].checked = false;
}
}
}
}
这样一来居然成了,实在很不理解为什么非要这样写?另外发现有时候js代码要先于网页加载执行,如何控制呢?
function selAll() {
var len = document.Content_form.elements.length;
var i;
if (document.Content_form.ck.checked) {
for (i = 0; i < len; i++) {
if (document.Content_form.elements[i].type == "checkbox") {
documentContent_form.elements[i].checked = true;
}
}
}
else {
for (i = 0; i < len; i++) {
if (document.Content_form.elements[i].type == "checkbox") {
document.Content_form.elements[i].checked = false;
}
}
}
始终报错:document.Content_form.elements为空或不是对象,非常确定不是ID写错的问题,后来在页面打开源代码发现这么一段:
var theForm = document.forms['Content_form'];
if (!theForm) {
theForm = document.Content_form;
}
没有报错,遂将代码修改如下:
function selAll() {
var theForm = document.forms['Content_form'];
if (!theForm) {
theForm = document.Content_form;
}
var len = theForm.elements.length;
var i;
if (theForm.elements['ck'].checked) {
for (i = 0; i < len; i++) {
if (theForm.elements[i].type == "checkbox") {
theForm.elements[i].checked = true;
}
}
}
else {
for (i = 0; i < len; i++) {
if (theForm.elements[i].type == "checkbox") {
theForm.elements[i].checked = false;
}
}
}
}
这样一来居然成了,实在很不理解为什么非要这样写?另外发现有时候js代码要先于网页加载执行,如何控制呢?
相关文章推荐
- 关于javascript中document的问题:为空或不是对象
- javascript中关于elements对象为空的问题
- 关于 JavaScript 中一个小细节问题 (在控制台中直接 {Name:'王尼玛',Age:20} 对象报错问题)
- 这是我开通博客的原因;虽然不是什么大问题;关于指针与对象(C++)
- 关于form使用form.submit()提交的一个问题,提示form.submit不是对象的方法属性
- 关于jsp页面给Form赋值报该属性为空或不是对象问题
- 关于使用javascript让层居中的问题document.documentElement.clientHeight和document.documentElement.clientWidth
- javascript代码在ie8里报错 document.getElementById(...) 为空或不是对象的解决方法 原创
- JavaScript关于事件对象的一些问题
- javascript关于对象深拷贝和数组去重的问题...
- 关于JAVASCRIPT为空或不是对象的检测
- js关于document和window对象_javascript教程
- 火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题 博客分类: IE火狐、谷歌javascript
- 关于在iframe中运用zdialog出现topWin.Dialog._Array为空或者不是对象的问题和图片不显示的问题
- 关于Javascript中通过实例对象修改原型对象属性值的问题
- JavaScript中用解决document.getElementsByName不能获得对象的问题
- 关于Javascript与表单结合时出现"对象不支持此属性或方法"的问题总结(不断更新中...)
- 关于javascript获取当前对象的问题
- JavaScript关于使用空函数来作为原型对象xx.prototype之间的桥梁的一些小问题
- 关于解决JavaScript中使用require引用外部js时出现的某个对象 not defined 时现时消失 问题