rem: this.set(this.select(function(className) { return className != classNameToRemove; }).join(' ')); 
add: clause.each(function(attribute) { var value = 'element.getAttribute(' + attribute.name.inspect() + ')'; var splitValueBy = function(delimiter) { return value + ' && ' + value + '.split(' + delimiter.inspect() + ')'; }  switch (attribute.operator) { case '=':       conditions.push(value + ' == ' + attribute.value.inspect()); break; case '~=':      conditions.push(splitValueBy(' ') + '.include(' + attribute.value.inspect() + ')'); break; case '|=':      conditions.push( splitValueBy('-') + '.first().toUpperCase() == ' + attribute.value.toUpperCase().inspect() ); break; case '!=':      conditions.push(value + ' != ' + attribute.value.inspect()); break; case '': case undefined: conditions.push(value + ' != null'); break; default:        throw 'Unknown operator ' + attribute.operator + ' in selector'; } }); 
context:     this.set(this.select(function(className) {      return className != classNameToRemove;    }).join(' '));
meta: 1514	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1514/55c6c64da0fbbfba74a0b4ad68022bf640a0a049/prototype.js/buggy/railties/html/javascripts/prototype.js