2016-11-27 11 views
1

動的に作成されるチェックボックスのコードは次のとおりです。 1行に1つのチェックボックスが表示されるように、コードに改行を追加するにはどうすればよいですか?私はdocument.createElement("br")を実行しようとし、get.appendChild(label)の後に追加しようとしましたが、機能しませんでした。動的に作成された各チェックボックスの後に改行を追加するにはどうすればよいですか?

var checkBox = document.createElement("input"); 

し、それを追加する方法:

function setCheckboxes(browser) { 
    var get = document.getElementById("get"); 

    if (browser == "courses") { 
     for (var i = 1; i < coursesGetKeys.length; i++) { 
      var checkBox = document.createElement("input"); 
      var label = document.createElement("label"); 
      checkBox.type = "checkbox"; 
      checkBox.value = coursesGetKeys[i]; 
      checkBox.name = "r"; 
      label.textContent = setOpt(coursesGetKeys[i], browser); 
      get.appendChild(checkBox); 
      get.appendChild(label); 
      //label.appendChild(document.createTextNode(setOpt(validCoursesKeys[i], dataset))); 
     } 
    } 

    if (browser == "rooms") { 
     for (var i = 1; i < validRoomsKeys.length; i++) { 
      var checkBox = document.createElement("input"); 
      var label = document.createElement("label"); 
      checkBox.type = "checkbox"; 
      checkBox.value = validRoomsKeys[i]; 
      checkBox.name = "r"; 
      label.textContent = setOpt(validRoomsKeys[i], browser); 
      get.appendChild(checkBox); 
      get.appendChild(label); 
      //label.appendChild(document.createTextNode(setOpt(validCoursesKeys[i], dataset))); 
     } 
    } 
}; 

答えて

3

はすでに入力を作成する方法を知っている

get.appendChild(checkBox); // get is the parent element you selected at the top of your code 

だからあなたの最初の直感は正しかった、あなたもこれを行うことができます:

var br = document.createElement("br"); 
get.appendChild(br); 

br要素を作成するまた、それを "get"親に追加します。

+0

改行を挿入する場所はどこですか?私はforループの始めと終わりにそれを試してみました。それは私が望むことをしていないようです。 – stumpylumpy

+1

各forループの最後に。 'appendChild'をすでに実行する2つのステートメントがあります。私はその直後に2本の線を置いていました。ブラウザのコンソールにエラーメッセージはありますか? – amenthes

+0

ああ、ありがとう。それは今働く。私はループの外側にbr変数を1つだけ作成していましたが、それをループ内で繰り返し使用しようとしていたので、最後の要素に改行を適用していました! – stumpylumpy

関連する問題