JSFiddle - React, Tailwind, and code Playground

by homer2

HTML

<select id="z">
    <option optGroup='a'>1</option>
    <option optGroup='a'>1</option>
    <option optGroup='a'>1</option>
    <option optGroup='b'>2</option>
    <option optGroup='b'>2</option>
</select>

JavaScript

function setupOptGroups() {
    var optGroups=new Array();
    
    var i = 0;
    
    $("select [optGroup]").each(function(index, domEle) {
        var optGroup = $(this).attr("optGroup");
        if ($.inArray(optGroup, optGroups)==-1) optGroups[i++] = optGroup;
    });
    alert(optGroups.length);
    for(var j=0; j < optGroups.length; j++){
        $("option[optGroup='"+optGroups[j]+"']").wrapAll("<optgroup label='"+optGroups[j]+"'>");
    }
}

setupOptGroups();