Решение: Избиране на елементи

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео
Назад Алтернативен видео плеър
¿ Напред

Въпроси и отговори

  • Как

    Jullian Angelov:

    можем да зададем в методите отрицание, така че в контекста на заданието, което разглеждаме сега да изберем "Всички линкове БЕЗ този, който e препратка към education? Въпросът ми може да е преждевременен, понеже не знам какво е изучава по- нататък в курса, но сметнах моментът за удачен.

    Борис Митев:

    document.querySelectorAll('a:not([href=#education])');

    Динка:

    console.log(document.querySelectorAll('a:not([href=#education])'); тук края ми го изкарва грешно console.log(document.querySelector('header nav(a[href="#education"])'); лседвам примера на колегата 5

    инж. Юлиан Ангелов Професия / Специалност Как можем да зададем в методите отрицание, така че в контекста на заданието, което разглеждаме сега да изберем "Всички линкове БЕЗ този, който e препратка към education? Въпросът ми може да е преждевременен, понеже не знам какво е изучава по- нататък в курса, но сметнах моментът за удачен.

    1

    Борис Митев отговори document.querySelectorAll('a:not([href=#education])')

  • Може ли освен за методът querySelector и за другите методи да използваме All, ако не знаем колко резултата да очакваме?

    Jullian Angelov:

    да освен за методът querySelector и за другите методи да използваме All ако не знаем колко резултата да очакваме. Как да знаем дали методът дава като отговор всички резултати в колекция, а не само първият и как да сме убедени, че не пропускаме резултат? Докато работим над наш документ - знаем къде какво има или какво да очакваме в него, но ако е писан от друг или има модули в съавторство?

    Борис Митев:

    Методите getElementsByTagName, getElementsByClassName и т.н. винаги връщат колекции от всички елементи отговарящи на условията. Това се разбира от множественото число в името Elements. Само getElementById връща първият намерен елемент т.к. се очаква в документа id-тата да са уникални. Това се вижда по Element в единствено число.

    полк. Иво Ташев:

    Абсолютно

  • Защо е необходимо да се извикват тези фрагменти от кода?

    полк. Иво Ташев:

    Предполагам да се направи дебъгване. Атом платформата има ли дебъгване, подпомагащо кода, както в друг програмен език.

    Борис Митев:

    Не разбирам съвсем въпросът, но що се отнася до дебъгване - най-добрият вариант е използването на конзолата на Chrome или Firefox. До сега не съм срещал редактор, който дори да се доближава функционало до браузърите по отношение на дебъгване на HTML, CSS и JavaScript

    Atanasvulchevatanasov:

    Не намирам обяснение защо ето този ред:

    console.log(document.querySelectorAll('header nav a'));

    се интерпретира нормално в конзолата, а долният дава грешка:

    console.log(document.querySelector("header nav a[href="#education"]"));

    Татяна Илиева:

    Проблемът е в кавичките. Вложените двойни кавички объркват интерпретацията на аргумента на функцията "header nav a[href="#education"]". Тук за интерпретатора въобще не е ясно, че #education е вложеният стринг, тъй като "header nav a[href=" се превръща в един самостоен стринг /имате отворени и след това затворени двойни кавички/. Така отсичате неправилно аргумента на функцията и ще получите синтактична грешка.

    Можете да решите проблема като заместите едната двойка двойни кавички с единични. Следователно следните две извиквания ще работят: console.log(document.querySelector("header nav a[href='#education']")); Тук външните кавички са двойни, а вътрешните единични, но няма объркване за интерпретатора и е ясно, че #education е вложеният стринг или console.log(document.querySelector('header nav a[href="#education"]')); Тук външните кавички са единични, а вътрешните двойни, но отново няма объркване за интерпретатора и е ясно, че #education е вложеният стринг