Jquery 如何获取div的文本?

Jquery 如何获取div的文本?,jquery,ajax,mouseover,Jquery,Ajax,Mouseover,我正在使用AJAX填充具有display-none的div的内容。守则如下: $(".event").mouseover(function () { var id = $(this).attr("id"); $(".hidden-div").html(""); $.post("get-festival-desc.php", { festid: id }, function (data) { $(".hidden-div").ht

我正在使用AJAX填充具有display-none的div的内容。守则如下:

$(".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);
});
它运行良好(通过检查元素进行检查),“隐藏div”确实获得了所需的数据。然而,我也想提醒“隐藏div”的文本,但这似乎没有发生


这是因为display设置为none或AJAX还是我做错了什么?

我认为这应该可以:

var fest_title = $(".hidden-div").html();

这就是异步回调的问题。试试这个:

$(".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()
的值返回后才执行其余的代码。因此,您必须提醒回调中的文本,而不是它的外部。

提示:它与异步行为有关(似乎合乎逻辑:)将尝试签出!