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代码: