2011-08-11 28 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

関連する問題