Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 在div中追加div_Javascript_Html_Function_Append - Fatal编程技术网

Javascript 在div中追加div

Javascript 在div中追加div,javascript,html,function,append,Javascript,Html,Function,Append,我有一个HTML页面中的这个。它是一个外部脚本,应该向画布添加一个div。 如果我在正文中附加div,脚本就可以工作。但是如果我想把它附加到我通过函数添加的div中,它似乎不起作用。我错在哪里 函数AdDiv(divname) { 警报(“已加载”); 警报(divname); //制作一个用于画布的div var iDiv=document.createElement('div'); iDiv.id='placedCanvas'; iDiv.className='placedCanvas';

我有一个HTML页面中的这个。它是一个外部脚本,应该向画布添加一个div。

如果我在正文中附加div,脚本就可以工作。但是如果我想把它附加到我通过函数添加的div中,它似乎不起作用。我错在哪里

函数AdDiv(divname)
{
警报(“已加载”);
警报(divname);
//制作一个用于画布的div
var iDiv=document.createElement('div');
iDiv.id='placedCanvas';
iDiv.className='placedCanvas';
//document.getElementsByTagName('body')[0].appendChild(iDiv);
document.getElementsByTagName(divname).appendChild(iDiv);
}

AdDiv(“游说”);
使用以下方法:

function AdDiv(divId)
{

    //make a div that will be used for the canvas
    var iDiv = document.createElement('div');
    iDiv.id = 'placedCanvas';
    iDiv.classList.add('placedCanvas');

    //append it to the div with the given ID, not name
    document.getElementById(divId).appendChild(iDiv);
}
为此:

<div id="canvasDiv"></div>

<script type="text/javascript" src="https://pixelvaria.com/wp-content/themes/pixelvaria/js/modelscript.js"></script>
<script>
   window.onload = function () 
   {
       AdDiv("canvasDiv");
   }
</script>

window.onload=函数()
{
AdDiv(“游说”);
}

您调用了错误的Javascript方法。您需要
getElementById
(因为这就是您要传递给
getElementsByTagName

函数AdDiv(divname)
{
警报(“已加载”);
警报(divname);
//制作一个用于画布的div
var iDiv=document.createElement('div');
iDiv.id='placedCanvas';
iDiv.className='placedCanvas';
//document.getElementsByTagName('body')[0].appendChild(iDiv);
document.getElementsById(divname).appendChild(iDiv);
}

AdDiv(“游说”);
您应该使用通过元素的
id
(顾名思义)获取元素,该元素返回一组具有特定名称的元素


函数AdDiv(divname)
{
警报(“已加载”);
警报(divname);
//制作一个用于画布的div
var iDiv=document.createElement('div');
iDiv.id='placedCanvas';
iDiv.className='placedCanvas';
iDiv.textContent=“Div text”;
//document.getElementsByTagName('body')[0].appendChild(iDiv);
document.getElementById(divname).appendChild(iDiv);
}
AdDiv(“游说”);

当文档完全加载时(document ready event),只需执行AdDiv()调用即可。不在两者之间。在这种情况下,DOM未完全初始化,无法轻松修改,请使用getElementById()在您的情况下使用
getElementById
,而不是
getElementsByTagName
谢谢!这现在非常有用!