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"));