Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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加载获取的内容?_Javascript_Jquery - Fatal编程技术网

Javascript 使用通过jquery加载获取的内容?

Javascript 使用通过jquery加载获取的内容?,javascript,jquery,Javascript,Jquery,我已经设法使用jQuery.load()从另一个网页获取表的内容,并将其插入到当前网页中,效果很好。但是,如果在运行脚本之后使用新加载的数据,它们将返回为未定义 index.htm <table> <tr id="newTr"></tr> </table> <span id="newSpan"></span> <script> $('#newTr').load('page2.htm #oldTr'

我已经设法使用jQuery
.load()
从另一个网页获取表的内容,并将其插入到当前网页中,效果很好。但是,如果在运行脚本之后使用新加载的数据,它们将返回为未定义

index.htm

<table>
    <tr id="newTr"></tr>
</table>
<span id="newSpan"></span>
<script>
    $('#newTr').load('page2.htm #oldTr');
    var newData = document.getElementById("newTr").getElementsByTagName("td");
    document.getElementById("newSpan").innerHTML = newData[0].innerHTML;
</script>

$('newTr').load('page2.htm#oldTr');
var newData=document.getElementById(“newTr”).getElementsByTagName(“td”);
document.getElementById(“newSpan”).innerHTML=newData[0]。innerHTML;
page2.htm

<table>
    <tr id="oldTr">
        <td>content I want in newSpan</td>
        <td>more content</td>
    </tr>
</table>

我想在newSpan中看到的内容
更多内容

对于
脚本的最后一行
,我得到一个类型错误,表示
newData[0]
未定义。但是,如果我将同一行复制并粘贴到浏览器控制台中,它将正确执行,
td
内容将复制到
span
。我做错了什么?

尝试将与加载内容一起工作的代码放入完整的回调函数中:

$('#newTr').load('page2.htm #oldTr', function() {
  var newData = document.getElementById("newTr").getElementsByTagName("td");
  document.getElementById("newSpan").innerHTML = newData[0].innerHTML;
});
或者,由于您已经在使用jQuery:

$('#newTr').load('page2.htm #oldTr', function() {
  $('#newSpan').html($('#newTr').find('td').html());
});

内容未定义?您可以发布您得到的具体错误吗?jQuery的
load()
函数是异步的,这意味着它将发送该请求以获取信息,并继续处理其余的代码。然后,在加载内容之前,下一行立即运行。您可以在
load()
中使用另一个参数来声明运行下一行的回调函数(即complete)。这样,它将等待内容加载后运行其余的适用代码。您可以为load提供的最后一个参数是success方法,它将在load将ajax请求中的内容插入页面后执行。