э-э ... в случае, если вам нужно какое-то повторное использование, верните их и примените класс в процессе, относящемся к родительскому el (ul here):
var mylis = (function(el, decoration) {
return el.getElements("li:first-child, li:last-child").map(function(li, i) {
return li.addClass(decoration[i]);
});
})(document.getElement("ul"), ["first", "last"]);
http://jsfiddle.net/dimitar/Qy3KR/
иначе, просто сделайте (это будет немного быстрее)
var els = document.getElements("ul li:first-child, ul li:last-child");
if (els.length === 2) {
els[0].addClass("first"); els[1].addClass("last");
}
для mootools 1.1x:
var setFirstLast = function(el, decoration) {
decoration = decoration || ["first", "last"];
var lis = el.getElements("li");
if (lis.legnth < 2)
return;
lis[0].addClass(decoration[0]);
lis.getLast().addClass(decoration[1]);
};
setFirstLast(document.getElement("ul"));
http://jsfiddle.net/dimitar/Qy3KR/1/
и да, сделайтеуверен, что вы запускаете это в обратном вызове domready
например.
window.addEvent("domready", function() {
setFirstLast(document.getElement("ul"));
});