Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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'之前插入复选框;s内部文本_Javascript_Html_Dom - Fatal编程技术网

Javascript 如何在div'之前插入复选框;s内部文本

Javascript 如何在div'之前插入复选框;s内部文本,javascript,html,dom,Javascript,Html,Dom,我试图使用javascript在div中动态创建一个复选框 var input = document.createElement('input'); input.setAttribute('id', 'chkFilm_1'); input.setAttribute('type', 'checkbox'); input.setAttribute('name', 'four'); input.setAttribute('style', 'margin-left:2px;'); var divFil

我试图使用javascript在div中动态创建一个复选框

var input = document.createElement('input');
input.setAttribute('id', 'chkFilm_1');
input.setAttribute('type', 'checkbox');
input.setAttribute('name', 'four');
input.setAttribute('style', 'margin-left:2px;');

var divFilm = document.createElement('div');
divFilm.className = "ChekMarkWrap";   
divFilm.appendChild(input);
divFilm.appendChild(document.createElement('br'));
divFilm.innerText = "film";

我试图实现的是在div的innerText之前插入复选框。但是文本总是在div innerText之后出现。

看起来您的问题可能是:

divFilm.innerText = "film";
它将替换divFilm文本,而不是附加到它

下面的代码似乎有效

var input = document.createElement('input');
input.setAttribute('id', 'chkFilm_1');
input.setAttribute('type', 'checkbox');
input.setAttribute('name', 'four');
input.setAttribute('style', 'margin-left:2px;');

var divFilm = document.getElementById("film")

divFilm.appendChild(input)
divFilm.appendChild(document.createElement('br'));
divFilm.innerHTML += 'film';
这会将这些元素添加到html中id为“film”的div中

这在以下链接中起作用

这个怎么样:

divFilm.innerHTML =  divFilm.innerHTML + input.outerHTML+"film" ;
甚至更短:

divFilm.innerHTML +=  input.outerHTML+"film" ;

尝试追加复选框追加div后,请尝试以下操作:

divFilm.parentNode.insertBefore(input, divFilm);

您是否尝试过divFilm.prependChild(输入)<代码>divFilm.innerHTML+=“film”应该work@Tdelang你的意思是$(divFilm)。预编(输入),是的,我没有试过working@MichaelKunst达特成功了
divFilm.insertBefore(input, divFilm.childNodes[0]);