【问题标题】:getElementById() .innerHTML/.srcgetElementById() .innerHTML/.src
【发布时间】:2012-05-05 13:41:15
【问题描述】:

我正在尝试为大学创建一个简单的 javascript 游戏,但无法获得我想要在屏幕上显示的内容。

我的脚本如下:

var qArray = new Array();
    qArray[0] = {image:"Images/q1.png"};
    qArray[1] = {image:"Images/q2.png"};
    qArray[2] = {image:"Images/q3.png"};
    qArray[3] = {image:"Images/q4.png"};
    qArray[4] = {image:"Images/q5.png"};

var count = 0;
var question = qArray.splice(count,1);

当我使用它时,我得到“未定义”:

document.getElementById("question").innerHTML = question.image;

当我使用它时,我什么也得不到:

document.getElementById("question").src = question.image;

我的 html 只是一个简单的 div,如下所示:

<div id = "question" align = "center">
</div>

我需要“count”变量,因为它会递增以显示下一个问题的下一个图像

如果有人能帮忙就太好了

【问题讨论】:

  • document.getElementById("question").src 不正确,因为&lt;div&gt; 没有src 属性。
  • 这真的是你所有的代码吗?如果变量 qArray 看起来像您在此代码中显示的那样,那么 qArray.splice(count,1).image 返回 undefined 是没有意义的
  • 乍一看似乎不需要拼接,您可以使用 question=qArray[count] 访问带有索引的图像。
  • var question = qArray.[count]; document.getElementById("question").src = question.image; 我已经把它改成了这个,但它仍然没有显示任何东西
  • @PaddyHallihan 这可能是脚本在 元素加载之前运行并且由于它还不存在而无法访问它。您可以通过将

标签: javascript innerhtml


【解决方案1】:

这是一个有效的Fiddle。 qArray.splice() 不起作用,因为它实际上会从数组中删除该元素并返回一个新数组,而您只是在查找数组中的特定索引(更不用说您刚刚删除了您要查找的元素)

这行得通。我使用了一张随机的 imgur 图片来显示它确实加载了。

<html><head></head><body>

<img src="" id="question"></img>

<script type="text/javascript">

var qArray = new Array();
    qArray[0] = {image:"http://i.imgur.com/pGpmq.jpg"};
    qArray[1] = {image:"Images/q2.png"};
    qArray[2] = {image:"Images/q3.png"};
    qArray[3] = {image:"Images/q4.png"};
    qArray[4] = {image:"Images/q5.png"};

var count = 0;
var question = qArray[count];

document.getElementById('question').src = question.image;

</script>
</body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多