2013-08-12 66 views
1

我試圖動態地創建使用javascript.Here一個div內前的複選框插入複選框是我的代碼的一部分怎樣的div的innerText

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之後。

+1

你試過divFilm.prependChild(輸入);? – Tdelang

+0

'divFilm.innerHTML + =「film」;'應該可以工作 –

+0

@Tdelang你的意思是$(divFilm).prepend(輸入),雅我試過它不工作 – iJade

回答

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'; 

這增加了這些元素一個div在HTML ID爲「電影」。

這是工作在以下鏈接http://jsfiddle.net/yeQeC/

0

這個怎麼樣:

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

甚至更​​短:

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

嘗試附加格後追加複選框,試試這個:

divFilm.parentNode.insertBefore(input, divFilm);