小羊也疯狂 2017-03-06 01:33 采纳率: 100%
浏览 1105
已采纳

dom编程艺术中的一段代码为什么会报错。 大神帮我看一下为什么一直显示15行有错

图片说明
js 源码


function addLoadEvent(func) {

    var oldOnLoad = window.onload;
    if (typeof oldOnLoad != 'function') {
        window.onload = func;
    } else {
        window.onload = function () {
            oldOnLoad();
            func();
        }
    }
}
function insertAfter(newElement,targetElement) {
    var parent = targetElement.parentNode;
    if (parent.lastChild == targetElement) {
        parent.appendChild(newElement)
    } else {
        parent.insertBefore(newElement, targetElement.nextSibling)
    }
}
function preparePlaceholder() {
    var placeHolder = document.createElement("img");
    placeHolder.setAttribute("id","placeHolder");
    placeHolder.setAttribute("src","images/placeholder.gif");
    placeHolder.setAttribute("alt","My Image Gallery");
    var despription = document.createElement("p");
    despription.setAttribute("id","description");
    var text = document.createTextNode("Choose an image");
    despription.appendChild(text);
    var gallery = document.getElementById("imageGallery");
    insertAfter(placeHolder,gallery);
    insertAfter(despription,placeHolder);
}

function prepareGallery() {

    var links = document.getElementsByTagName("a");

    for (var i = 0;i < links.length;i++){
        links[i].onclick = function () {
            showPic(this);
            return false;
        }
    }
}

function showPic(whichPic) {
    var source = whichPic.getAttribute("href");
    var goal = document.getElementById("placeholder");
    goal.setAttribute("src",source);
    var text = whichPic.getAttribute("title");
    var description = document.getElementById("description");
    description.firstChild.nodeValue = text;
}
    addLoadEvent(prepareGallery);
    addLoadEvent(preparePlaceholder);

html源码

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>gallery_practise</title>
    <script type = "text/javascript" src= "Scrips/showPic.js"></script>
</head>
<body>
<h1>Snapshots</h1>
<ul id="imagegallery">
    <li>
        <a href="images/fireworks.jpg" title = " fireworks look beautiful">Fireworks</a>
    </li>
    <li>
        <a href="images/coffee.jpg " title = "coffee tastes delicious"  >Coffee</a>
    </li>
    <li>
        <a href="images/rose.jpg " title = "rose i want to give my girlfriend" >Rose</a>
    </li>
    <li>
        <a href="images/bigben.jpg  " title="bigben is a  big clock"  >Bigben</a>
    </li>
</ul>


</body>

</html>

  • 写回答

3条回答 默认 最新

  • Go 旅城通票 2017-03-06 03:03
    关注
       function preparePlaceholder() {
                var placeHolder = document.createElement("img");
                placeHolder.setAttribute("id", "placeHolder");
                placeHolder.setAttribute("src", "images/placeholder.gif");
                placeHolder.setAttribute("alt", "My Image Gallery");
                var despription = document.createElement("p");
                despription.setAttribute("id", "description");
                var text = document.createTextNode("Choose an image");
                despription.appendChild(text);
                var gallery = document.getElementById("imagegallery");//////////DOM对象中id是imagegallery,不是imageGallery
                insertAfter(placeHolder, gallery);
                insertAfter(despription, placeHolder);
            }
    
    
    
            function showPic(whichPic) {
                var source = whichPic.getAttribute("href");
                var goal = document.getElementById("placeHolder");////////这里和preparePlaceholder函数里面的容器id大小写不匹配
                goal.setAttribute("src", source);
                var text = whichPic.getAttribute("title");
                var description = document.getElementById("description");
                description.firstChild.nodeValue = text;
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Labview机器人问题
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr