JSFiddle - React, Tailwind, and code Playground

HTML

<p class="a"></p>
<p class="a"></p>
<p class="b"></p>
<p class="b"></p>
<span class="a"></span>
<span class="a"></span>
<span class="c"></span>

<div id="a">
    <span class="a"></span>
    <span class="a"></span>
    <span class="c"></span>
</div>

JavaScript

document.getElementsByClassName = function(name) {
    var obj = result = [];
    var n = name.split(".");
    var tag_name = null, class_name = null;
    
    if(n.length == 2) {
        tag_name = n[0];
        class_name = n[1];
    } else {
        tag_name = "*";
        class_name = n[0];
    }

    obj = document.getElementsByTagName(tag_name);
    for(var i in obj) {
        if(obj[i].className != class_name) continue;
        result.push(obj[i]);
    }    

    return result;
};

Element.prototype.getElementsByClassName = function(name) {
    var obj = result = [];
    var n = name.split(".");
    var tag_name = null, class_name = null;
    
    if(n.length == 2) {
        tag_name = n[0];
        class_name = n[1];
    } else {
        tag_name = "*";
        class_name = n[0];
    }

    obj = this.getElementsByTagName(tag_name);
    for(var i in obj) {
        if(obj[i].className != class_name) continue;
        result.push(obj[i]);
    }    

    return result;
};

console.log(document.getElementsByClassName("p.a"));
console.log(document.getElementsByClassName("span.a"));
console.log(document.getElementsByClassName("a"));
console.log(document.getElementById("a").getElementsByClassName("span.a"));