由 element.appendChild(newNode) ,谈开去
发布时间:2016-12-30 来源:查字典编辑
摘要:element.appendChild(newNode)方法中,如果newNode本身是Dom中的一个节点.那么appendChild方法执...
element.appendChild(newNode)方法中,如果newNode本身是Dom中的一个节点.那么appendChild方法执行的不再
是append操作了,而是一个move操作.比如说:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
因为btn1本身是dom中的一个节点,所以appendChild操作会将btn1移动到btn4的后面,而不是复制.
利用这个特点,我们可以用极少量的代码实现另类的文字无缝滚动.
*{border:1px solid green} a{display:block;font-size:15px}; 1,你可曾有过无数的梦想, 2,却在时光的流逝里幻灭 3,你可曾对未来期待憧憬, 4,却在成长的岁月中迷失
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
呵呵,是不是很简洁呢,这个方法我在今年五月份的时候发到了CSDN上,当时引起了许许多多的JavaScript爱好
者的大讨论,那帖子被CSDN首页置顶,三百人参与回复讨论.
除了这个应用,appendChild的这个特性还可以在表格排序上大展身手.
注意,下面表格排序代码只是为了说明appendChild的用法,没有在ff中测试.
12 | 1 |
9 | 2 |
15 | 3 |
18 | 4 |
1 | 5 |
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
怎么样,有了appendChild的大力相助,这个排序够简单吧.
关于表格的更多操作方法,和高级的自定义表格排序,请参见我在CSDN的另一个帖子(也是用appendChild实现的排序,且兼容firefox)