1.实现原理很简单,通过点击 a
标签设置 div
的 display
属性隐藏或者显示,主要是对 dom
操作的掌握。
2.需要用到的 dom
操作:
parentNode
获取父级元素
nextSibling
获取下一个紧跟的节点
previousSibling
获取上一个紧跟的节点
3.注意事项:
要考虑到当点击展开全文的时候,其他已经展开的全文要收起来。
当用 nextSibling
获取下一个节点时候,不同浏览器的判断是不一样的
有的是获取元素,有的获取换行符或者空格,所以这里就要用到nodeType来判断一下数据类型 nodeType
只返回数字1、2、3
只有返回1的时候获取的才是元素节点 (我特么做的时候没考虑到这个问题,还以为哪出毛病了搞了好久)
还有就是由于 js
里没有像 jquery
里获取同级所有元素的dom
操作,所以我自己写了个 siblings(elm)
以后也可以用,一劳永逸
HTML代码:
CSS代码:
JavaScript代码: