老师,这段代码不理解

来源:4-15 编程练习

木子小可爱

2019-10-11 16:06:33

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

                    errorMessage[i].parentNode.removeChild(errorMessage[i]);

                 }

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

                    parent=inValidityField[i].parentNode;

                    var label=inValidityField[i].parentNode.children[0];

                    parent.insertAdjacentHTML('afterbegin',"<div class='error-messages'>"+label.innerHTML+inValidityField[i].validationMessage+"</div>")

                 }


写回答

1回答

好帮手慕糖

2019-10-11

同学你好,4-13课程中的代码吗?

若是课程中的代码,完整如下:

http://img1.sycdn.imooc.com/climg/5da03fd509de312914090556.jpg

1、在点击的时候,获取不符合验证的信息(inValidityField)。然后下面的循环,遍历有几个不符合验证的。

2、errorMessage是错误的错误的信息。开始的时候是没有的。是获取不到的,而第一个循环也不好执行。但是若是第一步有不符合验证的信息(inValidityField),会执行下面的循环。

3、下面的循环,会根据有几个不符合验证,然后动态插入的这个类名为error-message标签。内容是错误提示信息。

4、然后下次单击的时候,由于上次有错误信息,所以errorMessage是可以获取到的,然后执行第一个循环,将错误信息删除。

5、然后在执行第一步,重新获取不符合验证的信息(因为可能这次单击前,已经填写了),有的已经符合了。然后就会向上面一样,执行3步了哦。

这里稍微有点绕,可以结合效果,来理解哦。

希望能帮助到你,祝学习愉快!

0

0 学习 · 6815 问题

查看课程