如何在div的innerText之前插入复选框

时间:2013-08-12 06:56:26

标签: 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 divFilm = document.createElement('div');
divFilm.className = "ChekMarkWrap";   
divFilm.appendChild(input);
divFilm.appendChild(document.createElement('br'));
divFilm.innerText = "film";

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

4 个答案:

答案 0 :(得分:2)

看起来您的问题可能就行了:

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中。

这适用于以下链接http://jsfiddle.net/yeQeC/

答案 1 :(得分:0)

怎么样:

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

甚至更短:

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

答案 2 :(得分:0)

在追加div后尝试附加复选框,试试这个:

divFilm.parentNode.insertBefore(input, divFilm);

答案 3 :(得分:0)

divFilm.insertBefore(input, divFilm.childNodes[0]);

http://jsfiddle.net/QgAt3/