For循环的代码问题

时间:2010-01-15 19:58:33

标签: javascript javascript-events

我正在为学校做一个项目,我真的很难理解如何在Javascript中为我的for循环创建代码/命令。任何帮助将不胜感激。

该项目基本上是这样的: - 有两个数组:一组10个法语单词,另一组10个英语单词。它们看起来像这样:

var english=new Array();
english[0]="This hotel isn't far from the Eiffel Tower.";
english[1]="What time does the train arrive?";
english[2]="We have been waiting for the bus for one half-hour.";
english[3]="This meal is delicious";
english[4]="What day is she going to arrive?";
english[5]="We have eleven minutes before the train leaves!";
english[6]="Living in a foreign country is a good experience.";
english[7]="Excuse me! I'm late!";
english[8]="Is this taxi free?";
english[9]="Be careful when you go down the steps.";

var french=new Array();
french[0]="Cet hôtel n'est pas loin de la Tour Eiffel.";
french[1]="A quelle heure arrive le train?";
french[2]="Nous attendons l'autobus depuis une demi-heure.";
french[3]="Ce repas est délicieux";
french[4]="Quel jour va-t-elle arriver?";
french[5]="Nous avons onze minutes avant le départ du train!";
french[6]="Habiter dans un pays étranger est une bonne expérience.";
french[7]="Excusez-moi! Je suis en retard!";
french[8]="Est-ce que ce taxi est libre?";
french[9]="Faites attention quand vous descendez l'escalier.";

- 我必须创建一个名为setUpTranslation()的函数。该函数的目的是将法语短语放入文档中,并为鼠标按下和鼠标悬停事件设置事件处理程序。

要创建For循环,它会说“创建一个for循环,循环遍历短语集合中的每个对象。对于集合中的每个对象,执行以下操作:1。更改第二个子节点的内部内容object to french [i]其中i是for循环的计数器变量的值.2。将swapFE()函数响应于对象的第二个子节点内发生的mouse-down事件3.运行swapEF()函数响应在对象的第二个子节点内发生的鼠标向上事件。

然后在设置for循环后,我将处理swapFE()和swapEF()函数。但是现在我只是想修复for循环。

这是我目前为setUpTranslation函数所做的:

function setUpTranslation() {
   var phrases = document.getElementsByTagName("p");   

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

  }

}

我在for循环中尝试了很多代码但似乎没有显示法语短语。感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

你在那里有一个很好的开始。您已经选择了所有

元素并假设还有10个元素,可以轻松地遍历它们所有插入您的值。您可以轻松地将短语[i]与法语[i](或英语[i])相关联。

可能让你绊倒的作业部分是你需要选择第二个span标签。您已经获得了获取所有元素的语法,因此应该同样适用。

phrases[i].getElementsByTagName(); // I'll let you figure out the parameter.

然后,您可以抓住在其中找到的第二个元素并插入一个新值。

这是对文档对象模型(DOM)的引用,这是一个帮助您完成作业的Javascript。我相信你会自己找到你需要的方法。 :)

http://www.javascriptkit.com/domref/

答案 1 :(得分:0)

我多年没有使用过JavaScript,但这项任务基本上要求您操作DOM(代表HTML文档的树)。

您当前的树结构是:

根     P型子节点         span类型和pnum类型的第一个子节点         span类型和类短语的第二个子节点     P类型的另一个子节点          ...          ...

您当前的代码所做的是,在每次迭代中,您都会得到一个从0到P类型子节点数的索引。您可以使用它从数组短语中检索P类型的子节点。

现在,您要做的是使用该节点获取第二个子节点(类型短语之一)。有一个JavaScript操作。然后,您可以使用字符串french [i]的内容替换该节点的内容。同样,有一个JavaScript操作。如果您正确执行此操作然后运行设置功能,您的文档应该更改到包含数字后面的法语短语,而不是当前的空白区域。

因为这是一个家庭作业问题,所以我无法提供您必须使用的确切代码(此外,自从我编写任何JavaScript以来,它已经太久了)。但是,如果您查看从课程中获得的材料或您获得的JavaScript参考,您将看到完成我提到的每一件事的确切操作。