【问题标题】:<div> and <span> not working in FireFox<div> 和 <span> 在 FireFox 中不起作用
【发布时间】:2012-03-24 12:25:11
【问题描述】:

目前我正在尝试使用 &lt;div&gt;&lt;span&gt; 标签作为我的 JavaScript 的标签。这在使用 IE 和 Google Chrome 时有效,但在 FireFox 中无效。 JavaScript 错误控制台显示“未定义 imgNo”。

这是我设置 div 标签的函数:

function next_picture() {
        if (document.images) {
            if (pictureNum < 21) {
                pictureNum++;
                document.TravelAlberta.src = picture[pictureNum].src;
                imgNo.innerHTML = "Image " + (pictureNum + 1) + " of 22";
            }
            else
                alert("This is last picture");
        }
        else
            alert("Your browser does not support images");
    }

这是正文中的代码

<div id="imgNo" class="style1">
    Image 1 of 22</div>
<p class="style1">
    <img alt="" class="style3" src="images/back_button.gif" id="Back" name="Back" onclick="back_picture()" />

    <img alt="" class="style4" src="images/next_button.gif" id="Next" name="Next" onclick="next_picture()" /></p>

【问题讨论】:

  • 我猜导师要写的是document.images.TravelAlberta.src,其中TravelAlberta是相关图像元素的名称

标签: javascript


【解决方案1】:

不良做法导致了您的问题。如果未定义变量,某些浏览器将使用元素 ID 作为变量名称。您应该使用 getElementById。

document.getElementById("imgNo").innerHTML = "Image " + (pictureNum + 1) + " of 22";

【讨论】:

  • @RobG 它与document.images 无关。海报通过其id 引用div
  • @epascarello - 值得注意的是document.images 集合已经存在了很长时间(它是 DOM 0 的一部分,现在是 HTML5)。与 document.forms 之类的类似集合一样,如果成员具有 name 属性,则它们可用作文档的命名属性。因此,如果您有&lt;img name="img0"...&gt; 之类的标记,则可以将图像引用为document.images['img0']'document['img0']。如果名称是有效标识符,则可以使用点表示法:document.img0
  • @RobG 为什么你们仍然在 document.images 上,这与问题无关。以这种格式或以前的格式。大声笑
猜你喜欢
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-24
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
相关资源
最近更新 更多