如何将div的文本转换为变量

Olg*_*dou 1 php jquery

我主要想做的是获取div的内容并将其传递给变量.解释我到目前为止所做的事情:

我的php文件包含以下代码:

<?php
$connect = mysql_connect("localhost", "...","...") or die("Could not connect to the database.");
    mysql_select_db("...") or die("Could not find database <...>");

    $query = mysql_query("SELECT id FROM datainput WHERE id>=ALL(SELECT id FROM datainput)") or die("Query could not be executed");
    $row = mysql_fetch_assoc($query);

    echo $row['id'];
?>
Run Code Online (Sandbox Code Playgroud)

在我的index.php文件中,我编写了以下脚本:

 <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">

            $("document").ready( function(){
                //setInterval("checkForNewData()", 1000);  //30 Minutes = 1800000 Milliseconds
                checkForNewData();
            });

            function checkForNewData(){
                $("#lastid").load("lastData.php");
                var mydata = $("#lastid").text();
            }  

        </script>
Run Code Online (Sandbox Code Playgroud)

在我的html标签中,我有一个id ="lastid"的div.使用以下代码:

 var mydata = $("#lastid").text();
Run Code Online (Sandbox Code Playgroud)

我想保留lastid div的当前文本,以便稍后将其与另一个进行比较.

正如我在这里读到的,这应该是mydata ="6"(当前结果)?我究竟做错了什么?

有人可以帮忙吗?Pleaseee ...

bet*_*max 6

您需要等待负载完成.这是通过使用如下callback函数完成的:

   <script type="text/javascript">

        $("document").ready( function(){
            //setInterval("checkForNewData()", 1000);  //30 Minutes = 1800000 Milliseconds
            checkForNewData();
        });

        function checkForNewData(){
            $("#lastid").load("lastData.php", function(){
                var mydata = $("#lastid").text();
            });
        }  

    </script>
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅jQuery API文档:http://api.jquery.com/load/

本质上,load函数的第二个参数可以是一个函数.如果是,那么当负载完成时,该函数中的任何代码都将被执行.

  • 当你使用`var mydata = $("#lastid").text();`变量`mydata`的范围是你正在使用它的函数.一旦函数完成,变量就会消失.如果你想在别处访问它,可以尝试`mydata = $("#lastid").text();`(丢失var,这将使它成为全局.) (2认同)