我正在使用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();
答案 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);
});
答案 3 :(得分:0)
尝试使用.html()
alert($("span.price.eur.priceData").html());
答案 4 :(得分:0)
使用任何一个班级名称....
我用了价格......所以代码如下:
$('.price').html();
**or**
$('span.price').html();