Cha mẹ trong JavaScript là gì?

Tóm lược. trong hướng dẫn này, bạn sẽ học cách lấy nút cha của một phần tử bằng cách sử dụng thuộc tính JavaScript

function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
9 của đối tượng
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
0

Giới thiệu về thuộc tính parentNode

Để lấy nút cha của một nút cụ thể trong cây DOM, bạn sử dụng thuộc tính

function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
9

let parent = node.parentNode;

Code language: JavaScript (javascript)

function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
9 là chỉ đọc

Các nút

function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
3 và
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4 không có nút cha. Do đó,
function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
9 sẽ luôn là
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
6

Nếu bạn tạo một nút mới nhưng chưa gắn nó vào cây DOM, thì

function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
9 của nút đó cũng sẽ là
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
6

Mặc dù về mặt khái niệm giống như câu trả lời của Asaph (được hưởng lợi từ khả năng tương thích giữa nhiều trình duyệt, thậm chí IE6), nhưng nó nhỏ hơn rất nhiều và có ích khi kích thước ở mức cao và/hoặc khi không cần thiết thường xuyên

function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}

hoặc dưới dạng một lớp lót (chỉ 64 ký tự. )

function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}

và jsfiddle tại đây


Cách sử dụng.
______29 trả về boolean

function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
0.
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
1.

Giải thích.
______32 đánh giá miễn là điều kiện trong khi đánh giá là

function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
0.
Toán tử
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4 (AND) trả về giá trị boolean này đúng/sai sau khi đánh giá vế trái và vế phải, nhưng chỉ khi vế trái là đúng (
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
0).

Vế bên trái (của

function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4) là.
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
2.
Điều này trước tiên sẽ gán
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
3 của
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4 cho
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4 và sau đó toán tử AND sẽ đánh giá kết quả
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4 dưới dạng boolean.
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
3 trả về
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
8 nếu không còn cha và
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
8 được chuyển đổi thành
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
1, nên vòng lặp while sẽ dừng chính xác khi không còn cha.

Vế bên phải (của

function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4) là.
function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
22.
Toán tử so sánh
function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
23 'không chính xác bằng'. Vì vậy, nếu cha mẹ của đứa trẻ không phải là cha mẹ (bạn đã chỉ định), nó sẽ ước tính là
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
0, nhưng nếu cha mẹ của đứa trẻ là cha mẹ thì nó sẽ ước tính là
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
1.
Vì vậy, nếu
function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
22 đánh giá là sai, thì toán tử
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4 trả về
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
1 làm điều kiện trong khi và vòng lặp trong khi dừng. (Lưu ý không cần thân trong khi và dấu chấm phẩy
function childOf(/*child node*/c, /*parent node*/p){ //returns boolean
  while((c=c.parentNode)&&c!==p); 
  return !!c; 
}
29 đóng là bắt buộc. )

Vì vậy, khi vòng lặp while kết thúc,

function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
4 hoặc là một nút (không phải là
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
8) khi nó tìm thấy cha HOẶC là
function childOf(c,p){while((c=c.parentNode)&&c!==p);return !!c}
8 (khi vòng lặp chạy qua đến cuối mà không tìm thấy kết quả khớp)

Cha và con trong JavaScript là gì?

Các thuật ngữ cha mẹ, con cái và anh chị em ruột được sử dụng để mô tả các mối quan hệ . Trong một cây nút, nút trên cùng được gọi là gốc (hay nút gốc) Mỗi ​​nút có chính xác một cha, trừ gốc (không có cha) Một nút có thể có một số nút con. Anh chị em (anh chị em) là các nút có cùng cha mẹ.

Phần tử cha là gì?

Phần tử cha là phần tử nằm ngay phía trên và được kết nối với phần tử trong cây tài liệu . Trong sơ đồ bên dưới,

Nút cha JS là gì?

Một nút là nút cha của nút hiện tại . Cha của phần tử là nút Phần tử, nút Tài liệu hoặc nút Đoạn văn bản.

Cửa sổ mẹ trong JavaScript là gì?

cha mẹ. Cửa sổ. thuộc tính cha là tham chiếu đến cha của cửa sổ hoặc khung con hiện tại . Nếu một cửa sổ không có cha, thì thuộc tính cha của nó là một tham chiếu đến chính nó.