这种for循环是什么意思?没有见过这种循环?求指点
//如果是HTML字符串就将其转换成HTML元素 '<div><p>123</p></div>'
if ($.isHTML(selector)) {
var div = document.createElement('div'), node, result = [];
div.innerHTML = selector;
//获取div所有子元素
***for (node = div.firstChild; node; node.nextSibling) {***
if (node.nodeType === 1) {
ret.push(node);
}
}
}
一般循环不都是var i=0,i<xxx.length;i++吗 这种的循环是啥意思?selector就是$('selector')里面的元素 , 这种循环初始值是什么?循环的条件是什么?到哪里结束,怎么样去++的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
就相当于
为什么可以那样写请参考楼上的。
MDN有详细解释
从来就没有语句一必须声明计数器。语句二的判断一定要是比较长度。语句三一定要递增或者递减。
第一条是div的孩子,中间那个条件就是node的兄弟是否存在,最后一条表示node的兄弟
意思就是说一直循环node的兄弟,知道node没有兄弟了
希望采纳
for 语句用于创建一个循环,它包含了三个可选的表达式,三个可选的表达式包围在圆括号中并由分号分隔, 后跟一个在循环中执行的语句(通常是一个块语句)。
语法
initialization
一个表达式 (包含赋值语句) 或者变量声明。典型地被用于初始化一个计数器。该表达式可以使用var关键字声明新的变量。初始化中的变量不是该循环的局部变量,而是与for循环处在同样的作用域中。该表达式的结果无意义。
condition
一个条件表达式被用于确定每一次循环是否能被执行。如果该表达式的结果为true, statement 将被执行。 这个表达式是可选的。如果被忽略,那么就被认为永远为真。如果计算结果为假,那么执行流程将被跳到for语句结构后面的第一条语句。
final-expression
每次循环的最后都要执行的表达式。执行时机是在下一次condition的计算之前。通常被用于更新或者递增计数器变量。
statement
只要condition的结果为true就会被执行的语句。 要在循环体内执行多条语句,使用一个块语句({ ... })来包含要执行的语句。没有任何语句要执行,使用一个空语句(;)。
更多
题主代码应该不完整吧,不过我相信看完这个你就明白了,欢迎追问
node = div.firstChild; node; node.nextSibling
1 node = div.firstChild # 初始化Node绑定为div的第一个子元素
2 node; #每当node这个变量存在,就代表循环仍然继续
3 node.nextSibling # 每当完成一个循环,就将Node绑定为下一个兄弟元素
也就是说 这个循环的含义就是从div的第一个子元素一直循环到最后一个子元素 并且Node就等于循环到的那个子元素