Javascript 对象没有方法';追加儿童';
当我向一个函数发送一个div,该函数为文档片段创建内容时,当我将片段附加到div时,它会向我提供此错误Javascript 对象没有方法';追加儿童';,javascript,Javascript,当我向一个函数发送一个div,该函数为文档片段创建内容时,当我将片段附加到div时,它会向我提供此错误 Object column_left has no method 'appendChild' ' 这是我的代码: function progress_bar(parent_div){ var frag = document.createDocumentFragment(); var d = document.createElement('div');
Object column_left has no method 'appendChild' '
这是我的代码:
function progress_bar(parent_div){
var frag = document.createDocumentFragment();
var d = document.createElement('div');
d.className = 'progress_bg';
d.style.width = '90%';
frag.appendChild(d);
parent_div.appendChild(frag);
}
函数的调用方式如下:
var d = document.getElementById('column_left');
progress_bar(d);
var el = document.createElement('div');
el.id = 'column_left';
document.body.appendChild(el);
progress_bar(el);
有人知道我为什么不能这样追加吗?在你调用
进度条(d)
之前,#column_left
还不存在,所以d
是未定义的。由于您正在将未定义的值传递到进度条中,因此无法对其调用appendChild
要解决此问题,您必须首先创建#column_left
,或者选择一个预先存在的元素,如document.body
是一个JSFIDLE,代码已清理,我将其添加到文档的主体中,并设置实际呈现的内部内容
如果您想在#column_left
上执行此操作,它将如下所示:
var d = document.getElementById('column_left');
progress_bar(d);
var el = document.createElement('div');
el.id = 'column_left';
document.body.appendChild(el);
progress_bar(el);
你也能提供你的HTML标记吗?@Zhanger你是说CSS类的内容progress\u bg
?对不起,我没意识到你是白手起家生成DOM的,哈哈