Custom multiple div appends in JavaScript
Indentation

I don't understand the indentation. The second line should be indented the same as the first line.

Multiple var declarations

If you declare multiple variables, you can use the var keyword only once, and separate variables using the comma operator, for example:

var article = document.getElementsByTagName('article')
   ,obj = {}
   ,wrappers = ['a', 'b', 'c']


Semicolons

From another answer of mine:


  You're using many semicolons. JavaScript has a nice feature called
  automation semicolon insertion, which means you almost don't need to
  use semicolons at all, with just a few exceptions. From npm style
  guide:
  
  
    Don't use them [semicolons] except in four situations:
    
    
    for (;;) loops. They're actually required.
    null loops like: while (something) ; (But you'd better have a good reason for doing that.)
    case 'foo': doSomething(); break
    In front of a leading ( or [ at the start of the line. This prevents the expression from being interpreted as a function call or
    property access, respectively.
    
  
  
  Note that it's only a matter of style. You don't have to follow it if
  you don't like it, but personally I think that if something is not
  required, there's no reason to use it.


Meaningless identifiers

Identifiers like a1, a2, a3 doesn't tell much about the purpose of the variable. Try to name them in a way that explain what they are used for.

Only class names should begin with an uppercase letter

It's recommended to use identifiers starting with an uppercase letter (like Constructor in your case) only to declare classes. As you don't use new operator when calling that function, I assume it's not a class and therefore should have a name starting with a lowercase letter.

Use const instead of var to declare variables that should never be changed

You don't intend to change most of the variables, especially these that refer to the DOM elements. You could use const keyword instead of var to make sure don't override them accidentally.

Using variables or functions before they are declared

You're using create function before you define it. It is recommended not to use variables or functions before declaring them. Therefore, you should move your create function declaration to the top.

Use for...of loop

If you don't need array indexes, you can use the for...of loop instead of the traditional loop.

Example:

for (let element of array) {
  console.log(element)
}


Miscellaneous

I don't see a point in declaring the set function and immediately calling it. If you want to create a separate scope, use IIFE, but I don't think you need it here. The same is with the Constructor function.

a1, a2, and a3 should definitely merged in one array.