我的代码应该创建一个新游戏,您可以自定义您的学生,而其他则不能。这不是问题,当您加载游戏或完成自定义后,会出现错误。无论出于什么原因,我的图片都无法加载。它甚至也不会编辑我要更改的元素。这是应该工作的更新/运行代码:

function startUp() {
  if (saving) {
    $('#newGame-settings').fadeOut(500);
    setTimeout(function() {
      $("#mainScreen").fadeIn(1500);
    }, 500);
    saving = false;
  } else {
    $('#Start_Menu_Container').fadeOut(500);
    setTimeout(function() {
      $("#mainScreen").fadeIn(1500);
    }, 500);
  }


  var container = "";
  for (var i = 0; i < students.length; i++) {
    container += ("<div class='studentListC' style='background-image: url(\"" + students[i].imgSrc + "\")'>" + students[i].name + "</div>");
  }
  var studentList = document.getElementById("studentList");
  studentList.innerHTML = container;
}




它应该只显示它​​的主屏幕,然后编辑studentList id元素。它没有。如果有人可以帮助我,那就太好了!

另外,可能有用的一点是,如果我这样做了,它将添加到mainScreen id(studentList的父元素)中,除了图片仍然没有显示之外,它的工作方式还可以。因此,样式中的字符串也可能有错误。

链接到所有代码:http://jsbin.com/joneyi/edit?html,css,js,output

最佳答案

关于不填充studentList元素的问题,它实际上是在填充studentList元素,而不是您想要的那个(在页面上仍然有一个名为studentList的隐藏div。我相信您只需要确保自己是选择mainPage元素下的studentList元素(请原谅我未提供执行此操作的代码,但我对javascript语法有些不满。)

至于图像,我认为问题是嵌套的双引号:

<div class="studentListC" style="background-image: url("https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQy51udfhp-M17O5xe9wdQNpzq-Rf34cLMcCZ9hqkOIF2PEyKKa")">Brayton</div>


我看到您的代码实际上是对整个style属性使用单引号,但是我认为它们可能会在某处转换为双引号(可能是隐式转换?)。无论如何,请尝试使用单引号将url值括起来。

09-27 08:10