这个AppendChild Call有什么问题?

时间:2011-07-04 11:13:22

标签: javascript dom appendchild

我正在尝试做这个简单的AppendChild,呼叫没有成功:

//Create Video and Apply
function makeVid(src,wW,hH,Ref){
    var NewSrc= SrcCollect[Ref];
    var ambVid= document.createElement("VIDEO");
    ambVid.setAttribute("width",wW);
    ambVid.setAttribute("height",hH);
    ambVid.setAttribute("src",src);
    ambVid.setAttribute("controls","controls");
    ambVid.className="ambiVidElement";        
    ambVid.id="ambiVidElement"+Ref;
    var holder = document.getElementById("ambi_vid_wrapper"+Ref);
    holder.appendChild(ambVid);
}

它不会产生任何错误,即使我使用try {}来捕获错误,也没有错误,但我创建并想要追加的元素不会出现在页面上...

1 个答案:

答案 0 :(得分:0)

很奇怪没有错误,你检查过浏览器的JavaScript控制台了吗?与a debugger一起走过了?

下面的一些建议(标有*的更改行):

//Create Video and Apply
function makeVid(src,wW,hH,Ref){
    var NewSrc= SrcCollect[Ref];
    var ambVid= document.createElement("video"); // * lower-case
    ambVid.style.width = wW + "px";              // * setting style properties
    ambVid.style.height = hH + "px";             // *
    ambVid.src = src;                            // * `src` is a reflected property on most elements with a `src` attribute
    ambVid.setAttribute("controls","controls");
    ambVid.className="ambiVidElement";        
    ambVid.id="ambiVidElement"+Ref;
    var holder = document.getElementById("ambi_vid_wrapper"+Ref);
    holder.appendChild(ambVid);
}

除了上述内容之外,我还会仔细检查getElementById来电是否会返回您希望它返回的内容。

将此作为CW答案,因为它实际上只是一系列调试建议。