Почему не работает document.getElementsByTagName?
getElementsByTagName - ищет только по названию тэга.
Хотите использовать подобные селекторы - ваш выбор  querySelectorAll 
Потому, что это не tagName, а селектор.