-1

I'm having a problem when I try to get a element by using querySelectorAll.

Here is the part of HTML that I want to get from JS:

<div id="paginacao">
    <div class="pag-base"> <a href="#">{{1}}</a> </div>
    <div class="pag-base"><a href="#">{{2}}</a></div>
    <div class="pag-base"><a href="#">{{3}}</a></div>
    <div class="pag-base"><a href="#">{{4}}</a></div>
    <div class="pag-base"><a href="#">{{5}}</a></div>
    <div class="pag-base"><a href="#">{{6}}</a></div>
    <div class="pag-base"><a href="#">{{7}}</a></div>
    <div class="pag-base"><a href="#">{{8}}</a></div>
    <div class="pag-base"><a href="#">{{9}}</a></div>
    <div class="pag-base"><a href="#">{{10}}</a></div>
    <div class="pag-base"><a href="#">...</a></div>
  </div>

I'm doing this on JavaScript:

var pages = document.querySelectorAll(".pag-base a");
console.log(pages[0].textContent);

but this always returns undefined. Anyone knows what am I doing wrong?

esote
  • 763
  • 10
  • 24
Flávio
  • 26
  • 1

2 Answers2

0

that's because the script file is loading before your dom is ready .

try script tag below your div tag

Mahi
  • 1,659
  • 8
  • 19
-1

Nothing wrong with your code.

Everything working as expected, see below

var pages = document.querySelectorAll(".pag-base a"); console.log(pages[0].textContent);
for(var i =0; i < pages.length; i++){
  console.log(pages[i].textContent);
}
<div id="paginacao">
    <div class="pag-base"> <a href="#">{{1}}</a> </div>
    <div class="pag-base"><a href="#">{{2}}</a></div>
    <div class="pag-base"><a href="#">{{3}}</a></div>
    <div class="pag-base"><a href="#">{{4}}</a></div>
    <div class="pag-base"><a href="#">{{5}}</a></div>
    <div class="pag-base"><a href="#">{{6}}</a></div>
    <div class="pag-base"><a href="#">{{7}}</a></div>
    <div class="pag-base"><a href="#">{{8}}</a></div>
    <div class="pag-base"><a href="#">{{9}}</a></div>
    <div class="pag-base"><a href="#">{{10}}</a></div>
    <div class="pag-base"><a href="#">...</a></div>
  </div>
Jyothi Babu Araja
  • 8,434
  • 3
  • 28
  • 37