2016-11-19 4 views
-1

querySelectorAllを使用して要素を取得しようとすると問題が発生します。JavaScriptのquerySelectorAll()のエラー

<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> 

私にはJavaScriptでこれをやっている:ここで

は、私はJSから取得したいHTMLの一部である

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

が、これは常にundefinedを返します。私が間違っていることは誰でも知っていますか?

+0

以下script tagはフィドルで正常に動作するよう試みます。私は '{{#}}'がテキストであり、いくつかのテンプレートエンジンに置き換えられないと仮定しています。また、マークアップがdomに存在した後、あなたのコマンドを実行することを前提としています。 – Taplar

+0

はい、うまくいくようです。 –

+0

DOMの準備ができてから、あなたの 'JS' **を実行しますか? – Cristy

答えて

-1

コードに問題はありません。期待通りに働い

すべては、あなたのDOMの準備が整う前に、スクリプトファイルがロードされているためだという

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>

0

下記を参照してください。

はあなたdiv tag

+0

ありがとうございます。それが私の問題を解決した –

+0

@Flávioがうれしい – Mahi