Javascript 放置问题

Javascript Placement Issue

好的。这是我在正文脚本中更改某些列表项的图像 src 的方法。默认情况下,这些列表项加载不同的图像。我尝试做的是检查我的 urlArray 中的文本,然后将图像 src 设置为 somethingelse.png。我认为在正文部分末尾运行的以下循环会更改源,但不会更改实际图片。我怎样才能确保它也改变了图片?

for (var i=0; i<urlArray.length; i++) {
var imgname = "listimg";
if (urlArray[i][1]==="fi"){
  var currentname = imgname.concat(i);
  if(document.getElementById(currentname) ) //check if element exists
  {
     document.getElementById(currentname).src= "write.png";
     //for debugging; delete from production code.
     console.log(document.getElementById(currentname).src); //should write "write.png" to console.
  }
}
}

谢谢大家的回答和意见,原谅我是菜鸟..

还有一些来自我的 html 的 li 项目:

<li>
<a href="#" onclick="datasent(1);"><img src="mcicon.png" id="listimg0" alt="Gummy Bears" /><span id="test1score" class="ui-li-count">12</span>
<h2 id="testname0"> Test Name 0</h2>
<p id="testexp0">Test Explanation 0</p>
</a>
</li>

<li>
<a href="#dog" onclick="datasent(2);"><img src="mcicon.png" id="listimg1" alt "Min Pin" />
<h1 id="testname1">Test Name 1</h1>
<p id="testexp1">Test Explanation 1</p>
</a> 
</li>

查看您提供的示例,代码仅在 body 元素的末尾起作用,因为它引用了在代码执行之前加载的元素。如果将代码移至页面顶部,它会在页面元素存在之前运行 ,因为它会在脚本加载后立即运行

为了引用尚未加载的元素,在 jQuery 中,您需要将任何代码包装在 DOM 就绪处理程序 中。在普通 JavaScript 中,您可能已经使用了 window.load 事件,但 jQuery 事件更智能,并且会在 DOM 元素全部加载后立即运行。

例如

$(document).ready(function(){
    // Your code here
});

较短的版本:

$(function(){
    // Your code here
});