Exams - Solutions


0

Ето тук ще ъпдейтвам за всеки изпит, който успея да направя. Като искам да отбележа следното с което до сега се сблъсквам, for in и for of карат бг кодер да се държи тъпо :D демек 0т. let i const също....За сега това. Ето и изпитите до момента и също да отбележа да внимавате да гледате CSS-a че има големи подводни камъни не винаги .show и .hide са правилния вариант, нали за display = nonе е ясно но при jQuery често искат да добавиш или махнеш клас toogleClass() и addClass и RemoveClass работят перфе.Сигурно на изпита ще бъдат ок тея неща, ама....Аз мисля да не рискувам и ще си въртя нормални for(var i =0;...)Говоря за коагот например искаш да обхождаш нещо което с jQuery find(class) си намерил...Успех!

I. 16-August-2016-18:00: Exam-1 BGCoder: Click

II. 16-August-2016-MakeUP-Exam: Exam-2 BGCoder: Click Първата е бъгната в БгКодер.

III.6-August-2015-18:00: Еxam-3 BgCoder: Click Втората задача е бъгната в БгКодер...Авторското не дава пълен брой, моето дава 0, но пък даже съм добавил и допиълнителна функционалност да се цъкат по светлите, поленца и да препраща....Са ако някой открие що ми дава 0 екстра, ма кат цяло нема голям смисъл :D важното е че я направих, щото е доста интересна задачка!!!Имам доста копи пейст код щото ме домързя леко пък....И се счупваше като изнасях в функции.....




Отговори



1

Здравей, колега.

Докато решавах задачата, забелзах нещо, което видях и че при теб го има.

В момента, в който се търси в колекцията от имена на директории.

var findItems = $('.item-name'); - Тук създаваме Jquery колекция

var $item = $(findItems[i]); - Тук заради това, че се слага индекс на колекцията пак трябва да сложм $

или става,че  var $item = $($('.item-name')[i]) , което е странно!

Защо се получава, така че като вземем елемент от Jquery колекция, той не е Jquery елемент, а трябва да му слагаме $ за да го превърнем в такъв?

Аз ползвах var $item = findItems.eq[i]


от peter_85 (189 точки)


1
jQuery е просто обвивка, ти ако с jQuery селектираш елеменет той става с такава обвивка защото ти си му я сложил, но когато от jQuery съм взел списък с елементи и ги обхождам те по отделно нямат обвивка те са си нормални дом елементи, като цяло jQuery е просто обвивката на елемент, не съм сигурен сега коя е по добра практика но може и без да се налага да го кастваш към jQuery и просто да си ползваш смесено jQuery + нормални DOM операции.

от IliyaST (191 точки)

1

Предполагам, че на изпита няма да се отчитат точки ако се ползва смесено jQuery + нормални DOM операции.

Макар, че ако направим така, може и да мине :):

var domElement = document.getElementsByClassName("special")[0];

var $domElement = $(domElement);


от peter_85 (189 точки)