I'm writing a plugin and want it to have no dependencies. I create a form and append it to the page, but the code is really long. Does anyone have any suggestions to clean it up, perhaps shortening it? I feel like there must be a better way!
// Create elements
  var elements = [
      reporter_wrapper                = document.createElement('div'),
      reporter_close                  = document.createElement('button'),
      reporter_title                  = document.createElement('h1'),
      reporter_title_label            = document.createElement('label'),
      reporter_bug_title              = document.createElement('input'),
      reporter_priority_label         = document.createElement('label'),
      reporter_bug_priority           = document.createElement('select'),
      reporter_details_label          = document.createElement('label'),
      reporter_bug_details            = document.createElement('textarea'),
      reporter_user_label             = document.createElement('label'),
      reporter_user                   = document.createElement('input'),
      reporter_submit                 = document.createElement('button')];
  // // Add class names
  reporter_wrapper.className          = 'buggr__reporter';
  reporter_close.className            = 'buggr__reporter-close';
  reporter_title.className            = 'buggr__reporter-title';
  reporter_bug_title.className        = 'buggr__reporter-input';
  reporter_bug_priority.className     = 'buggr__reporter-select';
  reporter_bug_details.className      = 'buggr__reporter-textarea';
  reporter_user.className             = 'buggr__reporter-input';
  reporter_submit.className           = 'buggr__reporter-submit';
  // Input types
  reporter_user.type                  = 'text';
  reporter_bug_title.type             = 'text';
  // Populate title
  reporter_title.innerHTML            = 'Report a bug';
  // Populate label text
  reporter_title_label.innerHTML      = 'Bug title:';
  reporter_priority_label.innerHTML   = 'Bug priority:';
  reporter_details_label.innerHTML    = 'Bug details: <small>(Please include any specific steps to replicate)</small>';
  reporter_user_label.innerHTML       = 'Your name:'
  // Poulate submit button
  reporter_submit.innerHTML           = 'Submit Bug';
  // Populate select with options
  var select_options = ['Low', 'Medium', 'Hard'];
  for(var i = 0; i < select_options.length; i ++) {
    var option = document.createElement('option');
    option.value = select_options[i];
    option.innerHTML = select_options[i];
    reporter_bug_priority.appendChild(option);
  }
  // Create DOM tree
  for(var i = 1; i < elements.length; i ++) {
    reporter_wrapper.appendChild(elements[i]);
  }
  // Add event listeners
  reporter_close.addEventListener('click', this.close);
  reporter_submit.addEventListener('click', this.submit);
  // Append DOM tree
  document.body.appendChild(reporter_wrapper);