napisałem kod zmieniający elementy DOM miejscami:
/** * Swaps DOM elements with each other moving one above/below second * * @param DOMElement obj Object to move * @param int direction 1 = move up, -1 = move down */ function swap(obj, direction) { if (direction == 1) { // move up var swapWith = obj.getPrevious(); if (swapWith != null) { swapWith.injectAfter(obj); } } else if (direction == -1) { // move down var swapWith = obj.getNext(); if (swapWith != null) { swapWith.injectBefore(obj); } } }
Pod Operą i Firefoxem całość działa bez najmniejszego zająknięcia, natomiast IE7 wyrzuca:
Kod
Obiekt nie obsługuje tej właściwości lub metody.
W jaki inny sposób mogę pobrać poprzednik/następnik danego elementu?
Pozdrawiam,
pion
PS: pod obj u siebie podstawiam <li>
// EDIT:
Rozwiązane. Wystarczyło używać:
x = new Element("x");
zamiast:
x = document.createElement("x");
