JSFiddle - React, Tailwind, and code Playground
HTML
<div>hogehoige</div>
JavaScript
/*!
* stuQuery v1.0.10
*/
// I don't like to pollute the global namespace
// but I can't get this to work any other way.
var eventcache = {};
function S(e){
function querySelector(els,selector){
var result = new Array();
var a,els2,i,j,k,tmp;
if(selector.indexOf(':eq') >= 0){
a = selector.split(' ');
for(i = 0; i < a.length; i++){
if(i==0){
tmp = getBy(els,a[i]);
}else{
els2 = new Array();
for(j = 0; j < tmp.length; j++) els2 = els2.concat(getBy(tmp[j],a[i]));
tmp = els2.splice(0);
}
}
}else tmp = els.querySelectorAll(selector); // We can use the built-in selector
for(k = 0; k < tmp.length; k++){ result.push(tmp[k]); }
return result;
}
function getBy(e,s){
var i = -1;
var result = new Array();
if(s.indexOf(':eq') > 0){
var m = s.replace(/(.*)\:eq\(([0-9]+)\)/,'$1 $2').split(" ");
s = m[0];
i = parseInt(m[1]);
}
if(s[0] == '.') els = e.getElementsByClassName(s.substr(1));
else if(s[0] == '#') els = e.getElementById(s.substr(1));
else els = e.getElementsByTagName(s);
if(!els) els = [];
// If it is a select field we don't want to select the options within it
if(els.nodeName && els.nodeName=="SELECT") result.push(els);
else{
if(typeof els.length!=="number") els = [els];
for(k = 0; k < els.length; k++){ result.push(els[k]); }
if(i >= 0 && result.length > 0){
if(i < result.length) result = [result[i]];
else result = [];
}
}
return result;
}
function matchSelector(e,s){
var result = false;
// Does this one element match the s
if(s[0] == '.'){
s = s.substr(1);
for(var i = 0; i < e.classList.length; i++) if(e.classList[i] == s) return true;
}else if(s[0] == '#'){
if(e.id == s.substr(1)) return true;
}else{
if(e.tagName == s.toUpperCase()) return true;
}
return false;
}
function stuQuery(els){
// Make our own fake, tiny, version of jQuery simulating the parts we need
var elements;
if(typeof els==="string") this.e =...