正在获取语法错误:意外的标识符和未捕获的ReferenceError

Getting syntaxError: Unexpected identifier and Uncaught ReferenceError

本文关键字:标识符 ReferenceError 意外 获取 语法 错误      更新时间:2024-01-29

我编写了一个名为replaceImg()的函数,用于替换标记td witdh中的img他的备选案文。但我有两个错误,它们是:

未捕获语法错误:意外的标识符

和第二个

未捕获引用错误:未定义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>

很明显,您在其他编程语言方面有经验,因为您在for循环中使用了不同的语法。

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

这不是有效的JavaScript。你应该试试这样的东西:

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

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