Javascript:

var j = document.getElementById("content");
  1. 获取a的全部子节点 ``` j.childNodes; ```
  2. 获取a的父节点 ``` j.parentNode; ```
  3. 获取a的下一个兄弟节点 ``` j.nextSibling; ```
  4. 获取a的上一个兄弟节点 ``` j.previousSibling; ```
  5. 获取a的第一个子节点 ``` j.firstChild; ```
  6. 获取a的最后一个子节点 ``` j.lastChild; ```

JQuery的要方便不少:

var q = $("#content");
  1. 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class") ``` q.parent(expr); ```
  2. 类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素 ``` q.parents(expr); ```
  3. 返回所有子节点,这个方法只会返回直接的孩子节点,不会返回所有的子孙节点 ``` q.children(expr); ```
  4. 返回下面的所有内容,包括节点和文本。这个方法和children()的区别就在于,包括空白文本,也会被作为一个jQuery对象返回,children()则只会返回节点 ``` q.contents(); ```
  5. 返回上一个兄弟节点,不是所有的兄弟节点 ``` q.prev(); ```
  6. 返回所有之前的兄弟节点 ``` q.prevAll(); ```
  7. 返回下一个兄弟节点,不是所有的兄弟节点 ``` q.next(); ```
  8. 返回所有之后的兄弟节点 ``` q.nextAll(); ```
  9. 返回兄弟姐妹节点,不分前后 ``` q.siblings(); ```
  10. 跟q.filter(expr)完全不一样。q.filter()是从初始的q对象集合中筛选出一部分,而q.find()的返回结果,不会有初始集合中的内容,比如$("p"),find("span"),是从p元素开始找,等同于$("p span") ``` q.find(expr); ```