Ten faktycznie pochodzi z FireFox ... tym razem IE wyprzedził paczkę i pozwolił na usunięcie elementu bezpośrednio.
To tylko moje założenie, ale uważam, że powodem, dla którego musisz usunąć dziecko za pośrednictwem rodzica, jest problem ze sposobem, w jaki FireFox obsługiwał referencję.
Jeśli wywołujesz obiekt, aby bezpośrednio popełnić hari-kari, to zaraz po jego śmierci nadal masz do niego odniesienie. Może to spowodować kilka paskudnych błędów ... takich jak nieusunięcie go, usunięcie go, ale zachowanie referencji, które wydają się prawidłowe, lub po prostu wyciek pamięci.
Wierzę, że kiedy zdali sobie sprawę z tego problemu, obejście polegało na usunięciu elementu przez jego element nadrzędny, ponieważ gdy element zniknie, teraz po prostu trzymasz odniesienie do elementu nadrzędnego. To powstrzymałoby całą tę nieprzyjemność i (na przykład, zamykając węzeł drzewa po węźle) całkiem ładnie się „spakowało”.
Powinien to być łatwy do naprawienia błąd, ale podobnie jak w przypadku wielu innych rzeczy w programowaniu internetowym, wydanie prawdopodobnie zostało przyspieszone, co doprowadziło do tego ... a zanim pojawiła się kolejna wersja, wystarczająca liczba osób korzystała z niego, że zmiana tego doprowadziłaby do złamania kawałka kodu.
Znowu wszystko to jest po prostu zgadywaniem.
Z niecierpliwością czekam jednak na dzień, w którym programowanie sieciowe zostanie w końcu całkowicie wyczyszczone na wiosnę, wszystkie te dziwne małe dziwactwa zostaną oczyszczone i wszyscy zaczną grać na tych samych zasadach.
Prawdopodobnie dzień po tym, jak mój robot-robot pozwał mnie o zaległe płace.