-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
  • 831
  • 12
  • 25
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,707
  • 11
  • 22
-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
  • 10,076
  • 3
  • 31
  • 38