【问题标题】:How to get the text of the div?如何获取div的文本?
【发布时间】:2013-11-07 21:52:53
【问题描述】:

我正在填充具有显示的 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”确实获得了所需的数据。但是,我也想提醒“隐藏 div”的文本,但这似乎没有发生。

是因为显示设置为无或 AJAX 还是我做错了什么?

【问题讨论】:

  • tip : 它与异步行为有关

标签: jquery ajax mouseover


【解决方案1】:

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

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

【讨论】:

  • 似乎合乎逻辑 :) 将尝试检查!
【解决方案2】:

我认为这应该可行:

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

【讨论】:

    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多