Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取syntaxError:意外的标识符和未捕获的引用错误_Javascript - Fatal编程技术网

Javascript 获取syntaxError:意外的标识符和未捕获的引用错误

Javascript 获取syntaxError:意外的标识符和未捕获的引用错误,javascript,Javascript,我编写了名为replaceImg()的函数,该函数替换标记td witdh中的img 他的备选文本。但我有两个错误: 未捕获的语法错误:意外的标识符 第二 未捕获引用错误:未定义替换img 谢谢你的帮助 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR

我编写了名为replaceImg()的函数,该函数替换标记td witdh中的img 他的备选文本。但我有两个错误:

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

第二

未捕获引用错误:未定义替换img

谢谢你的帮助

 <?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>

改变我的信仰!
函数replaceImg(){
var imgarray=document.getElementsByTagName(“img”);
var td=document.getElementsByTagName(“td”);
var x;
对于(变量i=0;i
很明显,您有其他编程语言的经验,因为您的
for
循环使用了不同的语法

for(int i=0;i < imgarray.length;i++)
//---^
for(int i=0;i
这是无效的JavaScript。您应该尝试以下方法:

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

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

谢谢你的快速回复,我将它改为var,但它仍然不起作用:(这意味着
img[I]
是未定义的。你应该先修复这些错误,然后再继续。很抱歉这些愚蠢的问题,但我们在第一轮中将var I声明为0,所以它应该是img[0].alt,这应该可以工作,不是吗?只有当
img[0]
存在并且具有
alt
属性:)var-img将不是一个数组,它将包含imgarray[0]的值。我不太确定您试图通过该更改实现什么。您所做的只是使用一个新变量
x
,但它的值与每次迭代的
i
值完全相同。。。