如何获取div的文本?

时间:2013-11-07 21:52:54

标签: jquery ajax mouseover

我正在填充显示的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或我做错了吗?

2 个答案:

答案 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();