Защо е необходимо да се извикват тези фрагменти от кода?
Предполагам да се направи дебъгване. Атом платформата има ли дебъгване, подпомагащо кода, както в друг програмен език.
Не разбирам съвсем въпросът, но що се отнася до дебъгване - най-добрият вариант е използването на конзолата на Chrome или Firefox. До сега не съм срещал редактор, който дори да се доближава функционало до браузърите по отношение на дебъгване на HTML, CSS и JavaScript
Не намирам обяснение защо ето този ред:
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 е вложеният стринг