Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery加载函数中的jQuery加载函数_Javascript_Jquery - Fatal编程技术网

Javascript jQuery加载函数中的jQuery加载函数

Javascript jQuery加载函数中的jQuery加载函数,javascript,jquery,Javascript,Jquery,因此,我正试图通过JavaScript和jQuery解析来自另一个网站的大量数据,我对这两种语言都是新手,所以这里的问题是第二次jQuery加载中的函数不起作用 function load() { var r = 0; var cols = [4,5,8,9,10]; $('#Parser').load('url #tableID', function () { var r = $('#Parser').find('label').length; for (var i =

因此,我正试图通过JavaScript和jQuery解析来自另一个网站的大量数据,我对这两种语言都是新手,所以这里的问题是第二次jQuery加载中的函数不起作用

function load() {

 var r = 0;
 var cols = [4,5,8,9,10];
 $('#Parser').load('url #tableID', function () {
   var r = $('#Parser').find('label').length;

   for (var i = 0; i < r; i++) {
     $('#table').append('<tr id="'+i+'"></tr>')

     for (var j = 0; j < cols.length; j++) {
       $('#'+i).append('<td id="c'+i+j+'"></td>')
       $('#c'+i+j).load('url #tableId\\:Row'+i+'\\:Col'+cols[j], function() {
         $('#c'+i+j).html($('#c'+i+j).children().text());
       });
     }
   }
   $('#Parser').html('');
 });
}
我需要像这样按列和行解析代码,因为我从中获取数据的网页上有我想要的数据,这些数据分散在cols变量的列上,我找到了表中r变量的行数

我不知道这是一个逻辑问题还是仅仅是功能的误用,但我已经挣扎了一整天,我需要帮助

页面启动时调用mainload函数,输出整个元素,而不仅仅是文本

var time =new Date().getTime();
var rc = 0;
load();
refresh();

function load() {
var r = 0;
var cols = [4,5,8,9,10];

$('#Parser').load('url #tableID', function () {
  var r = $('#Parser').find('label').length;
  if (r != 0) {
    //Simulating going back to this page
    $('body').css({'background-color':'red','color':'white'});
    for (var i = 0; i < r; i++) {
      if (rc < r) {
        $('#table').append('<tr id="'+i+'"></tr>')
      }
      for (var j = 0; j < cols.length; j++) {
        if (rc < r) {
          $('#'+i).append('<td id="c'+i+j+'"></td>')
        }
        col =  $('#c'+i+j).load('url #tableId\\:Row'+i+'\\:Col'+cols[j],function() {
          if ($('#c'+i+j).html != col){
            $('#c'+i+j).html('');
          }
        });

      }
    }
  }else {
    if (rc != 0 ) {
      for (var i = 0; i < rc; i++) {
        for (var j = 0; j < cols.length ; j++) {
          $('#c'+i+j).html('');
        }
      }
    }
    if ($('body').css('background-color') != 'white') {
      //Simulating another page
      $('body').css({'background-color':'white','color':'black'});
    }
  }
  $('#Parser').html('');
  if (rc < r) {
    rc = r ;
  }
});
}
function refresh() {
 if(new Date().getTime() - time >= 10000){
  load();
  setTimeout(refresh, 10000);
}else{
  setTimeout(refresh, 10000);
}
}
这是我在页面上的完整javascript 前面的代码是我的atempt,它以一种更简单的方式将其处理为文本

function load()
{
    ...your code...
}

$(document).ready(load);

可能没有及时调用该函数,请确保在呈现DOM后调用它。

好的,因此这是一个非常简单的修复,在我替换的第二个加载函数中


现在它工作正常。

谁调用了主加载函数?你这是什么意思?我猜你在问它的目的是什么,它得到了表,所以我可以数一数它的行,这很愚蠢,但我只知道这一点。当页面opensI发出请求时,会调用load函数,因为当调用load函数时,DOM可能尚未呈现,这可以解释你的$'el'根本找不到任何元素。但是我认为$.loadfunction中的代码在两个加载完成后才执行。我不知道HTML是如何呈现的,你应该将HTML作为代码描述,如果同一个函数在主加载之外工作,那么它必须是,您的HTML未按时呈现,或者您的选择不正确。或者您可以将加载函数代码封装在等效的内。就绪方法,如so$function{///主加载函数代码在这里…var l=0;var cols=[4,5,8,9,10];…};
function load()
{
    ...your code...
}

$(document).ready(load);
$('#c'+i+j).html($('#c'+i+j).children().text());
$(this).html($(this).text());