JS Advanced Exam 27.06.2020 - Pet Me
Здравейте,
Моля за помощ.
Решението на задачата: тук
Проблема е, че локално задачата си работи както е по условие, като отговаря на всички изисквания и са направени необходимите проверки.
В judge ми дава грешка, Unexpected error: Cannot read property 'children' of undefined, обаче аз като си тествам кода, приложението ми вади всики необходими елементи от target-ите.
Ще помоля както за примерно решение за 100/100 - така и за коментар, от къде идва проблема при мен.
Предварително Благодаря!!!
Поздрави!
Благодаря много!!! :) Е малко ми е тъпо, че от нищо - нещо, ама и в judge трябва да се пооправят разни неща. По-странно, че в addPet(), judge не хареасва функцията, но в другите функции не е проблем. Въобще не подозирах, че това е проблема, просто няма да я ползвам, въпреки, че ми спестява малко писане.
Здрасти, в момента и аз се мъча да изкарам повече от 25 точки на тази задача, макар, че в браузера работи. Подходът ми е малко по - различен и се чудя дали причината, че не взимам точките е в това, че вместо всеки път да създавам нов бутон и да трия стария, аз преобразувам един и същ и го местя. Като разлика между моето и твоето решение виждам единствено това, но след като е работещ вариант защо Judge не го приема? Би ли погледнал и моето решение и да дадеш мнение?
https://pastebin.com/WVYaaFvP
Честно да ти кажа, малко трудно се ориентирам в кода ти, поради липсата на променливи към които да закачаш разли1ните функционалности, но това си е мй проблем, при теб ми се струва, че в проверката за с това дали на дадена променлива дължината на стойоността е по-голяма от 0. Пробвай с типа на проверката който аз съм нправил.
Друг проблем на Judge е ако разчиташ на ДОМ манипулиране и достъп до елементите чрез bubling, а не директно селектиране. Поне при мен е имало проблеми с bubling при някой задачи.
Оказа се, че проблемът е в това, че за закачане на елементи към родителско тяло съм използвал функцията .append() вместо .appendChild(). Струва ми се по - удачно, защото с .append() ти позволява да закачаш няколко елемента едновременно и не се налага да отделяш по ред за процеура, но явно Judge не го приема.
Да, на това не му обърнах внимание ... Някъде из лекциите си спомням, че беше споменато, че Judge нехаресва append() :), както и че ни пепоръчват да използваме appendChild() като цяло.
Супер, че сам си открил проблема.
Между другото :) както се казва, ползвай си сега appendChild(), после w Application модула, ще учите templates и там това изграждане на HTML с функции от сорта на createElement, appendChild и т.н. почти го няма, а се използва HandleBars.