Remove multiple classes with prefix
by zapjelly
HTML
<p>Remember to inspect element on the input below</p>
<div class="custom-nf">
<div class="input nf-input-outer nf-validation">
<div class="nf-container">
<div class="nf-outer nf-outer-input nf-outer-validation">
<div class="nf-middle">
<div class="nf-inner">
<label for="dummy" class="nf-label"></label>
<input id="dummy" type="text" class="nf-input"></div>
</div>
</div>
</div>
</div>
</div>
JavaScript
//Array.prototype.forEach.call(nfClasses, function(element){
/*
Array.prototype.map.call( nodelist, function(n){
console.log( n.innerHTML ); // writes the innerHTML of every p element.
});
*/
var nfClasses = document.querySelectorAll('.custom-nf [class*="nf-"]');
Array.prototype.map.call(nfClasses,
function(elem){
Array.prototype.map.call(elem.classList,
function(classStr){
if(classStr.match(/^nf\-/)) elem.classList.remove(classStr);
});
});
/*
var nfClasses = document.querySelectorAll('.custom-nf [class*="nf-"]');
//var nfClasses = Array.prototype.slice.call(document.childNodes)
//console.log("test"+(document.childNodes))
Array.prototype.slice.call(nfClasses).map(
function(elem){
//console.log(elem);
Array.prototype.slice.call(elem.classList).map(
function(classStr){
if(classStr.match(/^nf\-/)) elem.classList.remove(classStr);
}
)
//console.log(elem.classList);
/*
elem.className = elem.className
.split(' ')
.reduce(
function(result, classStr){
if(! classStr.match(/^nf\-/)) result += classStr + ' ';
return result;
}
,'')
*/