jQuery.children(expr),返回所有子节点这个方法只会返回直接的孩子节点,不会返回所有的子孙节点
jQuery.contents()返回下面的所有内容,包括节点和文本这个方法和children()的区别就在于,包括空白文本也会被作为一个jQuery对象返回,children()则只会返回节点
jQuery.prev()返回上一个兄弟节点,不是所有的兄弟节点
jQuery.next()返回下一個兄弟节点,不是所有的兄弟节点
JS获取节点父级子级元素:JS的方法会比JQUERY麻烦很多,主要则是因为FF、谷歌浏览器会把你的换行也当作DOM元素:空的text元素目前IE也是这样
原生的JS获取ID为test的元素下的子元素。
这样是没有问题的此时 a.length=2;
但是如果我们换另一种方法:
此时b.length 在IE浏览器中没問题,其依旧等于2但是在FF和谷歌浏览器中则会是5,是因为FF把换行也当做一个元素了(目前新版本IE也是这样)
所以,在此我们就要做處理了。
(2)在实际运用中Firefox在遍历子节点时,不妨在for循环里加上:
这样可以跳过一些文本节点
(3)遍历这些元素,把元素类型为文本而且是空格的都删除对于获取兄弟元素也是需要一样处理。
上述函数遍历子元素当元素里面有节点类型是文本并且文本類型节点的节点值是空的,就把他删除
nodeNames可以得到一个节点的节点类型,/\s/是非空字符在JS里的正则表达式前面加!,则表示是空字符
nodeValue表示得到这个节点里的值。
removeChild则是删除元素的子元素
之后,在调用子父,兄这些属性之前,调用上面的函数把空格清理一下就鈳以了