您的代码是正确的。也许您的问题是您没有将ID传递给
AddBorder函数,或者不存在具有该ID的元素。或者,您可能在通过浏览器的DOM访问相关元素之前运行函数。
要确定第一种情况或确定第二种情况的原因,请将它们添加为函数内的第一行:
alert('ID number: ' + id);alert('Return value of gEBI: ' + document.getElementById('horseThumb_' + id));每次调用该函数时,都会打开弹出窗口,其值为,
id返回值为
document.getElementById。如果获得
undefinedID号弹出窗口,则没有将参数传递给该函数。如果该ID不存在,您将在第一个弹出窗口中获得您的(不正确?)ID号,但
null在第二个弹出窗口中获得。
如果您的网页看起来像这样,
AddBorder并在页面仍加载时尝试运行,则会发生第三种情况:
<head><title>My Web Page</title><script> function AddBorder(id) { ... } AddBorder(42); // Won't work; the page hasn't completely loaded yet!</script></head>要解决此问题,请将所有使用AddBorder的代码放入
onload事件处理程序中:
// Can only have one of these per pagewindow.onload = function() { ... AddBorder(42); ...}// Or can have any number of these on a pagefunction doWhatever() { ... AddBorder(42); ...}if(window.addEventListener) window.addEventListener('load', doWhatever, false);else window.attachEvent('onload', doWhatever);


