Php 试图从加载了ajax的div中获取ElementById

Php 试图从加载了ajax的div中获取ElementById,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,我试图从一个加载了ajax的div中获取ElementById,但我做不到。让我们解释一下: 在“example.php”中,我有以下js代码: <script type= "text/javascript"> var page=document.getElementById("table_page").value; $(document).ready(function() { function update() { $.ajax({ type:

我试图从一个加载了ajax的div中获取ElementById,但我做不到。让我们解释一下:

在“example.php”中,我有以下js代码:

<script type= "text/javascript">

var page=document.getElementById("table_page").value;

$(document).ready(function() {
    function update() {
      $.ajax({
       type: 'GET',
       url: "show_class_entrys.php?q="+page,
       timeout: 1000,
       success: function(data) {
          $("#show_class_entrys_js").html(data); 
          window.setTimeout(update, 3000);
       },
      });
     }
     update();
});


</script>

var page=document.getElementById(“表格页面”).value;
$(文档).ready(函数(){
函数更新(){
$.ajax({
键入:“GET”,
url:“show_class_entrys.php?q=“+页面,
超时:1000,
成功:功能(数据){
$(“#show_class_entrys_js”).html(数据);
设置超时(更新,3000);
},
});
}
更新();
});
但是id='table_page'的输入使用ajax文件'loaded.php'加载。“loaded.php”文件包含以下内容:

<?php echo " <input type='hidden' id='table_page' value='7' /> "; ?>

这是一个简单的修复。您只需在success函数中覆盖
页面
,因为它将获得新值

$(document).ready(function() {

    var page=$("#table_page").val();

    function update() {
      $.ajax({
       type: 'GET',
       url: "show_class_entrys.php?q="+page,
       timeout: 1000,
       success: function(data) {
          $("#show_class_entrys_js").html(data); 
          window.setTimeout(update, 3000);
          page=$("#table_page").val();
       },
      });
     }
     update();
});
问题是
页面
在DOM更改之前设置,ajax调用的成功部分发生在DOM更改之后,因此它可以考虑新的元素/数据

尝试以下方法:

$(document).ready(function () {

    var page = '';
    $('#divLoadedID').load('loaded.php', function () {
        page = $("#table_page").val();
        update();
    });

    function update() {
        $.ajax({
            type: 'GET',
            url: "show_class_entrys.php?q=" + page,
            timeout: 1000,
            success: function (data) {
                $("#show_class_entrys_js").html(data);
                window.setTimeout(update, 3000);
            },
        });
    }
});

在AJAX调用完成之前,DOM中不存在该元素。您需要在
成功
回调中运行依赖于
#table_page
值的任何功能。既然您已经在使用jquery,那么最好使用
$(“#table_page”).val()
而不是
getElementById
table_page是否存在于example.php中?同样“在”example.php“我有这个js代码:”。不要把JS放在PHP中,它不能被缓存,更难维护。将其移动到.js文件并使用标记。我会尝试,然后通知您。