2012-03-13 39 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); 
         } 
        } 
       }); 
      } 

我我甚至试图使用SetTimeout()和Delay(),但仍然无法工作。

解决方案:(感谢暗影精灵)

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

u得到什么输出? – Gopesh 2012-03-13 08:46:43

+1

[JS Fiddle说你可以](http://jsfiddle.net/davidThomas/g7xhA/)。你的代码中的任何拼写错误(类名称在'class'属性或jQuery选择器中)? – 2012-03-13 08:47:18

+3

代码应该可以工作。或者至少它应该得到数字加欧元符号。你认为你可以用jsFiddle创建一个可重现的案例吗? – Sheepy 2012-03-13 08:47:22

回答

2

你的代码失败。

您可以使用原始的内容是这样的:

$("#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 2012-03-13 09:29:35

+0

工程就像一个魅力。谢谢! – Eric 2012-03-13 09:32:40

+0

@Erik Cheers,如果这完全解决了这个问题,请勾选左侧空的V图标标记为已接受。 :) – 2012-03-13 09:39:30

0

以.html尝试()

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

应该没有任何区别。 (编码解码的东西除外) – gdoron 2012-03-13 08:52:13

0

使用任何一个类名....
我已经使用价格..所以代码如下:

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

    **or** 

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

阅读本页其他人的意见,你有**所有**的错误混合... – gdoron 2012-03-13 08:58:08

3

这是一个黑暗的镜头,因为你没有提供更多的代码。

如果您通过ajax检索数据,请确保您的$("span.price.eur.priceData").text();位于您的ajax成功回调中。

否则,该<span/>元素可能尚未填充数据。

+0

这里唯一的真实答案...! ** + 1 ** – gdoron 2012-03-13 09:02:40

1

希望你需要得到没有'€'符号的实际值。 检查这个

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

}); 

检查,因为你<xmp>标签包装的HTML内容,使它们为纯文本因此jQuery的不能发现有什么元素这个小提琴http://jsfiddle.net/Z5AKU/