之前因为在css布局中使用了inline-block而导致元素之间出现了间隙,多方查找发现是文档本身的空白文本导致的;
今天用js处理DOM时,使用childNodes获取元素的子元素,在火狐浏览器中,会将元素之间的空白文本也当作一个子元素,导致一个包含四个li的ul出现了九个子元素;给后续操作带来了不小麻烦,解决办法如下:
针对布局,把使用inline-block值的元素前后的空白都去掉,即元素紧挨这写,有点累死trim之后的文档,这样渲染出来的元素之间就不会存在间隙了;
针对childNodes,首先新建一个Array对象,用一个for循环对所有子元素进行nodeType的判断,如果等于1则为元素,将其push进Array对象,否则就不是元素,直接跳过就可以,这样就可以得到只包含真正的元素对象的数组。
浙公网安备 33010602011771号