Can Select2 be used with a <select> tag?

Does Select2 support nesting options?

Yes, just like in a standard select.

How many levels of nesting can there be?

Only a single level of nesting is allowed per the HTML specification.

Can <optgroup> tags be made selectable?

No. This is a limitation of the HTML specification and is not a limitation that Select2 can overcome.

How are <option> and <optgroup> tags serialized into data objects?

Select2 will convert the <option> tag into a data object based on the following rules.

{
  "id": "value attribute" || "option text",
  "text": "label attribute" || "option text",
  "element": HTMLOptionElement
}

And <optgroup> tags will be converted into data objects using the following rules

{
  "text": "label attribute",
  "children": [ option data object, ... ],
  "elment": HTMLOptGroupElement
}