2016-11-17 2 views
1

Как добавить класс в div при создании динамического ввода.Добавить класс в div

div.class = "form-group"; 

Не работает для меня. который прокомментирован в следующем коде.

<script type="text/javascript"> 
    function dynInput(cbox) { 
     if (cbox.checked) { 
      var input = document.createElement("input"); 
      input.type = "text"; 
      var div = document.createElement("div"); 
      div.id = cbox.value; 
      //div.class = "form-group"; 
      div.innerHTML = "<label>Cost Per Test For " + cbox.value + "</label>"; 
      div.appendChild(input); 
      document.getElementById("insertinputs").appendChild(div); 
     } else { 
      document.getElementById(cbox.value).remove(); 
     } 
    } 
</script> 

ответ

3

Нужно изменить это:

div.className = "form-group"; 
+0

Reference HTTP: // WWW. w3schools.com/jsref/prop_html_classname.asp – Aus

2

Это должно быть className вместо class:

div.className = "form-group"; 

Вы можете использовать classList() вместо этого.

Использование ClassList является удобной альтернативой доступа перечислить элемент классов как через пробел строку с помощью element.className.

div.classList.add('form-group'); 

Надеется, что это помогает.

1

Использование JQuery addClass()

$(div).addClass('form-group'); 

или создать элементы как строки и добавить их с помощью JQuery append():

<script type="text/javascript"> 
    function dynInput(cbox) { 
     if (cbox.checked) { 
      label = "<label>Cost Per Test For " + cbox.value + "</label>"; 
      $("#insertinputs").append('<div class="form-group" id="'+cbox.value+'">'+label+'<input type="text"></div>'); 
     } else { 
      $('#'+cbox.value).remove(); 
     } 
    } 
</script> 
0

Попробуйте с div.className не только .class

Смежные вопросы