2016-05-30 11 views
2

私はいくつかのpタグを持つXMLファイルを読んでいるので、各要素テキスト" element.find() "しかし、私はこのエラー "。テキストは関数ではありません"を得ました。要素の配列を使用するとJquery element.text()エラーが機能しない "

これは私が使用するコードです:

  $.ajax({ 
       type: 'GET', 
       url: YQLurl, 
       data: { 
        key: "value" 
       }, 
       dataType: "xml", 
       success: function (reciviedXml){ 

        for(var i = 0 ; i < $(reciviedXml).find('p').length;i++) 
        { 
         var paragraph= $(reciviedXml).find('p')[i].text(); 
        } 
       }); 

私は私の配列は私が何をすべき、要素のリストとしてそれをunserestandことができない要素の配列、または少なくともjqueryのではないと思いますか?明らか$(reciviedXml).find('p')[i]として動作しませんでしょう

答えて

4

は、ネイティブDOM Elementを返し、Elementのインターフェイスにはtext方法がありません。非常に効率的ではありませんが、$(reciviedXml).find('p')[i].textContent;を実行するとコードが機能するはずです。ここで

より良い方法です:私はちょうど第三タグテキストをしたい

$(reciviedXml).find('p').each(function() { 
    var paragraph = $(this).text(); 

    //do something useful with paragraph 
    console.log(paragraph); 
}); 

それはあなたが直接第三段落のテキストを取得するために$(reciviedXml).find('p:nth-child(3)').text()を行うことができます

私にエラーを与えます。あなたはまた、すべてのjQueryを使用することはできません

var htmlString = '<p>1</p><p>2</p><p>3</p>'; 
 

 
var text = new DOMParser() 
 
    .parseFromString(htmlString, 'text/html') 
 
    .querySelector('p:nth-child(3)') 
 
    .textContent; 
 

 
alert(text);

+0

おかげで多くのことを、あなたの答えは私のために動作し、まさに私が探していたものです。 – Ensood

関連する問題