25 lines
624 B
JavaScript
25 lines
624 B
JavaScript
|
|
function isWhiteSpace(char){
|
||
|
|
return /\s/.test(char);
|
||
|
|
}
|
||
|
|
|
||
|
|
function wrapCharsInSpan(element){
|
||
|
|
const text = element.textContent;
|
||
|
|
|
||
|
|
element.textContent = "";
|
||
|
|
|
||
|
|
const fragment = document.createDocumentFragment();
|
||
|
|
|
||
|
|
for(const char of text){
|
||
|
|
if(!isWhiteSpace(char)){
|
||
|
|
const span = document.createElement('span');
|
||
|
|
span.textContent = char;
|
||
|
|
fragment.appendChild(span);
|
||
|
|
}else{
|
||
|
|
fragment.appendChild(document.createTextNode(char));
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
element.appendChild(fragment);
|
||
|
|
}
|
||
|
|
|
||
|
|
document.querySelectorAll(".dancing-letters").forEach(wrapCharsInSpan);
|