2011-08-11 32 views
0

所以我有以下的HTML:的JavaScript創建的標籤插入錯誤的位置

<div id="divForComponents"> 
     <input type="button" value="+" onclick="addFilter('divForComponents')"/>         
</div> 

在我的腳本文件:

function addFilter(divId){ 
var div = document.getElementById(divId); 

var label = document.createElement("label"); 
var text = document.createTextNode("Filter by:"); 
label.appendChild(text); 
div.appendChild(label); 

var filter = document.createElement("select"); 
filter.name = "selectName"; 
filter.options[0] = new Option("selection 1","value 1"); 
filter.options[1] = new Option("selection 2","value 2"); 
filter.options[2] = new Option("selection 3","value 3"); 
filter.options[3] = new Option("selection 4","value 4"); 
div.appendChild(filter); 

var input = document.createElement("input"); 
input.type = "text"; 
input.name = "inputName"; 
div.appendChild(input); 
} 

現在選擇成分和輸入字段正確添加,但該標籤添加在我已經在該div上的按鈕之前。我想,並期望獲得定位:

Button Label Select Input 

相反,我得到:

Label Button Select Input 

我測試的瀏覽器是鉻,不知道這算個什麼在這裏。

問候, 波格丹

+0

我沒有看到你的代碼的按鈕。 –

+0

按鈕已經在div中。 – Bogdan

回答

1

它實際上是插入標籤按鈕之前或只是視覺上顯示出來呀?這聽起來像你可能有一個CSS樣式,告訴標籤向左浮動。

+0

嗯,感謝您的意見。這是我通常不處理前端的更大項目的一部分,因此可能是這樣。有什麼辦法可以「覆蓋」這個嗎? – Bogdan

+0

當您創建標籤時,您可以爲標籤添加樣式屬性,並在標籤中放置'float:none;',以便生成的html類似於: – varfoo

+0

再次感謝輸入。 – Bogdan

1

首先,你的功能被命名爲addComponents(),但你使用addFilter()。我剛剛嘗試過您的代碼,並將addFilter()更改爲addComponents(),並且標籤已正確設置。

+0

錯誤類型,編輯。 – Bogdan