jquery - 无法从包含3个类名的span获取文本

时间:2012-03-13 08:44:19

标签: jquery text html

我正在使用jQuery AJAX检索/获取内容,在页面上显示它并尝试从以下跨度获取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()但仍然无效。

解决方案:(感谢Shadow Wizard)

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

5 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

您的代码失败是因为您使用<xmp>标记包装HTML内容,将它们呈现为纯文本,因此jQuery无法在其中找到任何元素。

您可以使用以下原始内容:

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

答案 2 :(得分:1)

希望你需要在没有'€'符号的情况下获得实际值。 检查一下

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

});

检查此小提琴http://jsfiddle.net/Z5AKU/

答案 3 :(得分:0)

尝试使用.html()

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

答案 4 :(得分:0)

使用任何一个班级名称....
我用了价格......所以代码如下:

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

    **or**

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