<div id="tester"></div>
<span id="result"></span>
<span id="classes"></span>
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"></script>
<script>
$(document).ready(function () {
const _numWords = 10000;
const res = await fetch(`https://random-word-api.herokuapp.com/word?number=${_numWords}`);
const _words = await res.json();
const _classes = _words.join(' ');
$("#tester").addClass(_classes);
function generateUUID() {
var d = new Date().getTime();
var d2 = (performance && performance.now && (performance.now() * 1000)) || 0;
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16;
if (d > 0) {
r = (d + r) % 16 | 0;
d = Math.floor(d / 16);
} else {
r = (d2 + r) % 16 | 0;
d2 = Math.floor(d2 / 16);
}
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
}
$.fn.extend({
hasClasses: function (selectors) {
for (var i in selectors) {
if ($(this).hasClass(selectors[i]))
return true;
}
return false;
},
hasClassesById: function (selectors) {
const _id = $(this).attr('id');
const uuid = generateUUID();
$(this).attr('id', uuid);
const res = selectors.some(cls => !!$(`${uuid}.${cls}`).length);
if (!_id) $(this).removeAttr("id");
else $(this).attr('id', _id);
return res;
}
});
});
</script>