当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 由 element.appendChild(newNode) ,谈开去

Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
JS Array对象入门分析
javascript typeof的用法与typeof运算符介绍[详细]
js CSS操作方法集合
让任务管理器中的CPU跳舞的js代码
ajax无刷新动态调用股票信息(改良版)
js Clip的奇思妙想之文字拼接效果
js Clip奇思妙想之多彩渐变字效果
JS 创建对象(常见的几种方法)
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
JS提交并解析后台返回的XML的代码
初学Javascript的一些总结
JS 继承实例分析
js form action动态修改方法
仿163填写邮件地址自动显示下拉(无优化)
js判断对象是否是某一类型
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
js 目录列举函数
js颜色选择器代码[firefox不支持]
js wmp操作代码小结(音乐连播功能)

Javascript 中的 由 element.appendChild(newNode) ,谈开去


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 314 ::
收藏到网摘: n/a

element.appendChild(newNode) 方法中,如果 newNode本身是Dom中的一个节点. 那么appendChild方法执行的不再
是append操作了,而是一个move操作. 比如说:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

因为btn1本身是dom 中的一个节点,所以 appendChild操作会将 btn1 移动到 btn4的后面,而不是复制.
利用这个特点,我们可以用极少量的代码实现另类的文字无缝滚动.
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

呵呵,是不是很简洁呢, 这个方法我在今年五月份的时候发到了CSDN上,当时引起了许许多多的JavaScript爱好
者的大讨论, 那帖子被CSDN首页置顶,三百人参与回复讨论.
除了这个应用, appendChild的这个特性还可以在表格排序上大展身手.
注意,下面表格排序代码只是为了说明 appendChild的用法,没有在 ff中测试.
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

怎么样,有了appendChild 的大力相助,这个排序够简单吧.
关于表格的更多操作方法,和高级的自定义表格排序,请参见我在CSDN的另一个帖子(也是用appendChild实现的排序,且兼容firefox)