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}
0Giớ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ỉ đọcCá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}
6Nế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}
6Mặ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. Vì
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]