一段js代码问题。

cyyjm 2011-05-12 09:36:58
不懂这段是什么意思? e = e.childNodes || e ; 如果传入的是数组还好理解,但是,传入的是元素呢,怎么遍历其子元素呢?
代码如下:
function text(e) {
var t = "";
e = e.childNodes || e ;
for (var j=0;j<e.length;j++) {
t += e[j].nodeType !=1 ? e[j].nodeValue :text(e[j].childNodes);
}
return t;
}
...全文
85 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆虫 2011-05-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tcwsyt 的回复:]
如果存在子节点,就把子节点赋值给E,如果不存在子节点,就把当前节点赋值给E
[/Quote]
正解
[Quote=引用 4 楼 tcwsyt 的回复:]
那个后面那个e是什么意思,我看到很多js语句都有,像 event等。
[/Quote]
这里和event没有关系 楼主可以看下js关于事件的机制就会明白很多基于事件的方法中e的含义
cyyjm 2011-05-12
  • 打赏
  • 举报
回复
那个后面那个e是什么意思,我看到很多js语句都有,像 event等。
zhian4k 2011-05-12
  • 打赏
  • 举报
回复
iPhone开发必备.pdf
kyzy_yy_pm 2011-05-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cyyjm 的回复:]

引用 1 楼 yanweijie0317 的回复:

e = e.childNodes || e ;如果是数组,就直接把e赋值给等号前边的e,如果是元素就把e.childNodes赋值给等号前边的e

不懂。是不是这样,如果是数组,就直接把e赋值给等号前边的e.childNodes,如果是元素,把e赋值给等号后边的e?
[/Quote]
不要老是想数组,这个和数组没有任何关系,只是单纯的js语法

kyzy_yy_pm 2011-05-12
  • 打赏
  • 举报
回复
e = e.childNodes || e
e = e.childNodes or e,也就是如果e.childNodes存在并为真,那么将e.childNodes赋值给"="前面的e,否则将e(它本身)赋值给"="前面的e

for(var i in e){
alert(i);
alert(e[i];
}
js遍历属性用for in
灬上海爽爷 2011-05-12
  • 打赏
  • 举报
回复
这跟数组没什么关系吧。
灬上海爽爷 2011-05-12
  • 打赏
  • 举报
回复
如果存在子节点,就把子节点赋值给E,如果不存在子节点,就把当前节点赋值给E
cyyjm 2011-05-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yanweijie0317 的回复:]

e = e.childNodes || e ;如果是数组,就直接把e赋值给等号前边的e,如果是元素就把e.childNodes赋值给等号前边的e
[/Quote]
不懂。是不是这样,如果是数组,就直接把e赋值给等号前边的e.childNodes,如果是元素,把e赋值给等号后边的e?
hch126163 2011-05-12
  • 打赏
  • 举报
回复
如果 e存在childNodes,把e.childNodes赋值给 e,否则,赋e值
yanweijie0317 2011-05-12
  • 打赏
  • 举报
回复
e = e.childNodes || e ;如果是数组,就直接把e赋值给等号前边的e,如果是元素就把e.childNodes赋值给等号前边的e

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧