getElementById restituisce 1 solo elemento
getElementsByTagName restituisce un array di elementi. Nel tuo esempio un array di elementi
per accedere al primo ad esempio devi scrivere
per accedere all'ultimocodice:document.getElementsByTagName('p')[0];
ciaocodice:var last = document.getElementsByTagName('p').length - 1; document.getElementsByTagName('p')[last];