использование .filter в коллекции html элементов будет иметь тот же эффект, при условии, что oneElement является правильным объектом:
$$("img").filter(function(el) {
return el !== oneElement;
}).fade(.3);
Чтобы продемонстрировать, насколько универсальными являются mootools, вот как вы можете имитировать синтаксис, который вы уже знаете:
Array.implement({
not: function(skipEl) {
return skipEl ? this.filter(function(el) {
return el !== skipEl;
}) : this;
}
});
var divs = document.getElements("div");
var redDiv = document.getElement("div.red");
divs.not(redDiv).fade(.2);
см. Это в действии здесь: http://www.jsfiddle.net/dimitar/Z9MNe/
разметка:
<div ></div>
<div ></div>
<div ></div>
<div class="red" ></div>
<div ></div>
Как указал FunFactor на irc, вы можете использовать селекторы только для того, чтобы получить то, что вы хотите в любом случае:
$$('div.something:not(#someId)')
будет работать, но не если вы просто работаете с объектом, таким как this
для события onClick
.