获取syntaxError:意外的标识符和未捕获的ReferenceError

时间:2013-12-02 11:43:14

标签: javascript

我编写了一个名为replaceImg()的函数,它替换了标签td witdh中的img 他的替代文字。但我得到两个错误:

未捕获的syntaxError:意外的标识符

和第二

未捕获的ReferenceError:未定义replaceImg

感谢您的帮助!

 <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
                "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd"
                 xml:lang="en" >
                 <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Convert me!</title>
            <script type="text/javascript">

            function replaceImg(){

            var imgarray = document.getElementsByTagName("img");
            var td       = document.getElementsByTagName("td");
            var x;

            for(var i=0;i < imgarray.length;i++){

            var x = i;

            var img    = imgarray[x];

            var p      = document.createTextNode(imgarray[x].alt);

            var r      = td[x].replaceChild(p,img);
}
}
            </script>
            </head>

            <body>
            <table width="600" border="0">
             <tbody>
              <tr>
                <td align="center"><img height="100" alt="Schadenfreude" src="ausdruck_1.gif" width="100" /></td>
                <td align="center"><img height="100" alt="Erstaunen" src="ausdruck_2.gif" width="100" /></td>
                <td align="center"><img height="100" alt="Skepsis" src="ausdruck_3.gif" width="100" /></td>
                <td align="center"><img height="100" alt="Betretenheit" src="ausdruck_4.gif" width="100" /></td>
                <td align="center"><input type="button" value="ersetze Bilder" onclick="replaceImg()"/></td>
              </tr>
              <tr>
                <td valign="top" align="center">ist die schönste Freude, kann aber Feinde 
                schaffen</td>
                <td valign="top" align="center">gebar die Philosophie und wird von 
                Rechthabern immer wieder unterschätzt</td>
                <td valign="top" align="center">ist bisweilen angebracht, sollte aber nicht 
                das weitere Dazulernen behindern</td>
                <td valign="top" align="center">ist sehr unangenehm, währt aber nicht ewig</td>
              </tr>
              </tbody>
            </table>

            </body>

            </html>

1 个答案:

答案 0 :(得分:0)

嗯,很明显你有其他编程语言的经验,因为你的for循环使用了不同的语法。

for(int i=0;i < imgarray.length;i++)
//---^

这不是有效的JavaScript。你应该尝试这样的事情:

for(var i=0;i < imgarray.length;i++)

JavaScript具有松散类型的变量,这意味着您在初始化时不必定义其类型。你所要做的就是给他们一个价值。