Javascript 循环未按预期工作

Javascript 循环未按预期工作,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图让这个循环正确地在屏幕上打印出十个结果,但我的循环似乎有问题,我无法弄清楚这是什么。在Mozilla上,我只得到屏幕上显示的第一个结果,在第一次迭代后循环似乎被卡住了,在Chrome上我得到了十个结果,但之后循环似乎仍在运行,因为我无法对新创建的元素进行任何样式设置,而且我仍然在页面上看到加载图标。有人能帮我修一下这个环吗?代码如下: var url = "https://en.wikipedia.org/w/api.php?action=opensearch&format=jso

我试图让这个循环正确地在屏幕上打印出十个结果,但我的循环似乎有问题,我无法弄清楚这是什么。在Mozilla上,我只得到屏幕上显示的第一个结果,在第一次迭代后循环似乎被卡住了,在Chrome上我得到了十个结果,但之后循环似乎仍在运行,因为我无法对新创建的元素进行任何样式设置,而且我仍然在页面上看到加载图标。有人能帮我修一下这个环吗?代码如下:

var url = "https://en.wikipedia.org/w/api.php?action=opensearch&format=json&search=aa&limit=10&callback=?";
$(document).ready(function(){
  $.getJSON(url, function(json){
    for (var i = 0; i < json[1].length; i++){
      document.write("<div><span class='header' style='color:red'>" + json[1][i] + "</span><br>" + json[2][i] + "</div><br>")
    }
  })
})    
var url=”https://en.wikipedia.org/w/api.php?action=opensearch&format=json&search=aa&limit=10&callback=?";
$(文档).ready(函数(){
$.getJSON(url,函数(json){
对于(var i=0;i“+json[2][i]+”
”) } }) })
并且在不同的浏览器上有不同的行为。最好不要用它。您可以使用下面的工作代码

var url=”https://en.wikipedia.org/w/api.php?action=opensearch&format=json&search=aa&limit=10&callback=?";
$(文档).ready(函数(){
$.getJSON(url,函数(json){
对于(var i=0;i“+json[2][i]+”
”) } }) })

我认为您不应该为此使用
document.write()
。@Serlite正确,OP应该更新元素的HTMLconsole.log(json[1].length)您得到了什么?@JoeL。这很有效。问题在于
document.write()
document.write
在异步执行时清除文档,就像在这个jQuery事件处理程序
.ready()
和/或
getJSON()
中一样。。