Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象没有方法';追加儿童';_Javascript - Fatal编程技术网

Javascript 对象没有方法';追加儿童';

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');

当我向一个函数发送一个div,该函数为文档片段创建内容时,当我将片段附加到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的,哈哈