JS獲取子節點、父節點和兄弟節點id的方法

在這裏插入圖片描述
首先了解
parentNode,parentElement;
childNodes,children;
nextSibling,nextElementSibling
previousSibling, previousElementSibling
的區別之前,
必須對Dom樹有一定的瞭解,在Dom文檔結構中,HTML頁面每一部分都是由節點組成的,節點的類型一共有3種,元素節點文本節點,屬性節點,從圖中可以看出屬性節點屬於元素節點的分支,一般不常考慮。
nextSibling屬性與nextElementSibling屬性的差別:
nextSibling屬性返回元素節點之後的兄弟節點(包括文本節點、註釋節點即回車、換行、空格、文本等等);
nextElementSibling屬性只返回元素節點之後的兄弟元素節點(不包括文本節點、註釋節點);

注意: 空格、回車也會看作文本,以文本節點對待。
下例中,如果兩個li元素之間有空格、回車,將返回 「undefined」。

childNodes與childern的差別
childNodes指的是返回當前元素子節點的所有類型節點,包括空格和換行符
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
parentNode與parentElement的區別 兩者在通常情況下都是一樣的,因爲包含元素的節點只有可能是元素節點