Javascript 正在尝试将子级添加到div类
我正试图用bb item类向我的div添加一个canvas子对象 这是我当前的代码Javascript 正在尝试将子级添加到div类,javascript,html,css,Javascript,Html,Css,我正试图用bb item类向我的div添加一个canvas子对象 这是我当前的代码 var createImage=函数(w,h){ var i=document.createElement(“画布”); i、 宽度=w; i、 高度=h; i、 ctx=i.getContext(“2d”); 返回i; } var canvas=createImage(1024512); var ctx=canvas.ctx; document.getElementsByClassName('bb-item'
var createImage=函数(w,h){
var i=document.createElement(“画布”);
i、 宽度=w;
i、 高度=h;
i、 ctx=i.getContext(“2d”);
返回i;
}
var canvas=createImage(1024512);
var ctx=canvas.ctx;
document.getElementsByClassName('bb-item').appendChild(canvas)代码>
这是因为在使用时,它返回DOM节点的集合(即使只有一个元素与选择器匹配):
返回具有所有给定类名的所有子元素的类数组对象
这意味着你要么
- 如果您确定只想使用集合中的第一个元素,请选择集合中的第一个元素,即:
document.getElementsByClassName('bb-item')[0].appendChild(canvas);
- 或者,如果要对集合中的所有元素应用相同的方法,则在应用
.appendChild()
方法之前,先遍历集合:
var bbItems = document.getElementsByClassName('bb-item');
for (var i = 0; i < bbItems.length; i++) {
var bbItem = bbItems[i];
bbItem.appendChild(canvas);
}
var bbItems=document.getElementsByClassName('bb-item');
对于(变量i=0;i
这是因为在使用时,它返回DOM节点的集合(即使只有一个元素与选择器匹配):
返回具有所有给定类名的所有子元素的类数组对象
这意味着你要么
- 如果您确定只想使用集合中的第一个元素,请选择集合中的第一个元素,即:
document.getElementsByClassName('bb-item')[0].appendChild(canvas);
- 或者,如果要对集合中的所有元素应用相同的方法,则在应用
.appendChild()
方法之前,先遍历集合:
var bbItems = document.getElementsByClassName('bb-item');
for (var i = 0; i < bbItems.length; i++) {
var bbItem = bbItems[i];
bbItem.appendChild(canvas);
}
var bbItems=document.getElementsByClassName('bb-item');
对于(变量i=0;i
替换此声明:
document.getElementsByClassName('bb-item').appendChild(canvas);
为此:
document.getElementsByClassName('bb-item')[0].appendChild(canvas);
var createImage=函数(w,h){
var i=document.createElement(“画布”);
i、 宽度=w;
i、 高度=h;
i、 ctx=i.getContext(“2d”);
返回i;
}
var canvas=createImage(1024512);
var ctx=canvas.ctx;
document.getElementsByClassName('bb-item')[0].appendChild(画布)代码>
.bb项{
最小高度:400px;
背景颜色:黄色;
}
帆布{
背景色:白色;
}
替换此语句:
document.getElementsByClassName('bb-item').appendChild(canvas);
为此:
document.getElementsByClassName('bb-item')[0].appendChild(canvas);
var createImage=函数(w,h){
var i=document.createElement(“画布”);
i、 宽度=w;
i、 高度=h;
i、 ctx=i.getContext(“2d”);
返回i;
}
var canvas=createImage(1024512);
var ctx=canvas.ctx;
document.getElementsByClassName('bb-item')[0].appendChild(画布)代码>
.bb项{
最小高度:400px;
背景颜色:黄色;
}
帆布{
背景色:白色;
}
您在使用此代码时遇到了什么问题或错误?您的问题相当模糊。你能提供更多的细节吗?例如,您将遇到什么错误,以及您希望实现的可能的HTML片段?我有一个用于移动封装外形的javascript代码,我正在尝试将此脚本放置在div class bb项下。目前我的脚本没有在bb项下运行。当我有document.body.appendChild(canvas)时,这段代码就工作了;这里的问题是画布被放置在body元素中,这不是我想要的。getElementsByClassName('bb-item')
是HTMLCollection数组。您需要传递数组索引<代码>文档.GetElementsByCassName('bb-item')[0].appendChild(画布)代码>您在使用此代码时遇到了什么问题或错误?您的问题非常模糊。你能提供更多的细节吗?例如,您将遇到什么错误,以及您希望实现的可能的HTML片段?我有一个用于移动封装外形的javascript代码,我正在尝试将此脚本放置在div class bb项下。目前我的脚本没有在bb项下运行。当我有document.body.appendChild(canvas)时,这段代码就工作了;这里的问题是画布被放置在body元素中,这不是我想要的。getElementsByClassName('bb-item')
是HTMLCollection数组。您需要传递数组索引<代码>文档.GetElementsByCassName('bb-item')[0].appendChild(画布)代码>