2012-03-13 8 views
1

私は、jQueryのAJAXでコンテンツを取得/取得するページ上に表示し、3クラス名と、次のスパンからテキストを取得しようとしているとスパンからテキストを取得することはできません。jqueryの - 3クラス名

<span class="price eur priceData">198,91 €</span> 

このスパンから「198,91」の番号を取得するにはどうすればよいですか?

私は(動作しない)テキストを取得するには、次のコードを使用しています:あなたはより多くのコードを要求してきた

$("span.price.eur.priceData").text(); 

、ここにある:

$(document).ready(function() { 
       Read(); 
      }); 

      function Read() { 
       $.ajax({ 
        url: "index.php?action=getData", 
        cache: false, 
        success: function(html){ 
         if(html == "BAD") { 
          $("#my_results").empty().append("Failed!"); 
         } else { 
          $("#my_results").empty().append("Successful!"); 
          $("#page_content").empty().append('<xmp>'+html+'</xmp>'); 
          var text=$("span.price.eur.priceData").text(); 
          alert(text); 
         } 
        } 
       }); 
      } 

私は」 veもSetTimeout()とDelay()を使用しようとしましたが、それでも動作しませんでした。

ソリューション:(シャドウウィザードのおかげで)

$(html).find("span.price.eur.priceData").text(); 
+1

を? – Gopesh

+1

[JSフィドルができると言う](http://jsfiddle.net/davidThomas/g7xhA/)。あなたのコードのタイプミス( 'class'属性のクラス名、またはjQueryセレクタ)? –

+3

コードがうまくいくはずです。それとも少なくとも数字にユーロ記号を加えなければならない。 jsFiddleで再現可能なケースを作成できると思いますか? – Sheepy

答えて

2

あなたのコードが失敗したこの

$(document).ready(function() { 
    var text=$("span.price.eur.priceData").text(); 
    var text1=text.split('€')[0]; 
    alert(text1); 

}); 

チェック。

あなたはこのように生の内容を使用することができますuは何を得る出力

$("#my_results").empty().append("Successful!"); 
$("#page_content").empty().append('<xmp>'+html+'</xmp>'); 
var text = $(html).find("span.price.eur.priceData").text(); 
alert(text); 
+0

非常に良いキャッチ。 +1 – fehays

+0

魅力的な作品です。ありがとう! – Eric

+0

@Erik Cheers、これで問題が完全に解決された場合は、空のVアイコンを左に動かすことでこれをマークしてください。 :) –

0

は(.htmlをして試してみてください)

alert($("span.price.eur.priceData").html());​ 
+4

違いはありません。 (符号化 - 復号化のものを除いて) – gdoron

0

..だから....私は価格を使用している
をいずれかのクラス名を使用コードは以下の通りです:

$('.price').html(); 

    **or** 

    $('span.price').html(); 
+1

このページの他のコメントを読んでください、**すべての**間違いが混在しています... – gdoron

3

あなたが箴していないので、これは暗いのうちショットですより多くのコードを片付けた。

ajaxを使用してデータを取得する場合は、$("span.price.eur.priceData").text();がajax successコールバックの内側にあることを確認してください。

それ以外の場合、その<span/>要素にまだデータが入力されていない可能性があります。

+0

ここで唯一の真の答え...! ** + 1 ** – gdoron

1

「€」記号なしで実際の値を取得する必要があります。 チェックあなたは、このようにjQueryのそこに任意の要素を見つけることができない純粋なテキストとしてそれらをレンダリング、<xmp>タグでHTMLコンテンツをラップするため、このフィドルhttp://jsfiddle.net/Z5AKU/

関連する問題