我正在填充显示的div的内容 - 没有使用AJAX。代码如下 -
$(".event").mouseover(function () {
var id = $(this).attr("id");
$(".hidden-div").html("");
$.post("get-festival-desc.php", {
festid: id
}, function (data) {
$(".hidden-div").html(data);
});
var fest_title = $(".hidden-div").text();
alert(fest_title);
});
一切正常(通过检查元素检查),“hidden-div”确实获得了所需的数据。但是我也想提醒“hidden-div”的文本,但似乎并没有发生。
是因为显示设置为无或AJAX或我做错了吗?
答案 0 :(得分:2)
这是异步回调的问题。试试这个:
$(".event").mouseover(function(){
var id = $(this).attr("id");
$(".hidden-div").html("");
$.post("get-festival-desc.php", {festid: id}, function(data){
$(".hidden-div").html(data);
var fest_title = $(".hidden-div").text();
alert(fest_title);
});
});
基本上,jquery在执行其余代码之前不会等待$.post()
的值返回。因此,您必须在回调中提醒文本,而不是在其外部。
答案 1 :(得分:0)
我认为这应该有效:
var fest_title = $(".hidden-div").html();