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
});
好的。这是我在正文脚本中更改某些列表项的图像 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
});