Javascript 正在尝试将子级添加到div类

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'

我正试图用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').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(画布)