2015-10-28 69 views
1

我的代码应该创建一个新的游戏,你可以自定义你的学生,不是什么。这不是问题,当你加载游戏或完成自定义后,会出现错误。无论出于何种原因,我的图片都无法加载。它甚至不会编辑我想改变的元素。这是更新/运行的代码应该工作:Javascript .innerHTML只影响父div

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

+0

你可以发布标记吗? – DinoMyte

+0

@DinoMyte你知道我该如何快速完成? – CoderJS

回答

0

在问候它不填充studentList元素的问题,它实际上是填充一个 studentList元素,只是没有你想要的(还有一个隐藏在名为studentList的页面上,我相信你只需要确保你在mainPage元素下面选择了studentList元素(原谅我没有提供代码来做到这一点,但我对我的JavaScript语法很生疏。 )

就图像而言,我认为问题是嵌套双引号:

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

我看到你的代码实际上是用单引号整个样式属性,但我认为他们可能会越来越转换为双引号的地方(可能是隐式转换?)反正尝试使用单引号附上url值。