Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [Thiết kế Web] Sao chép nhánh cloneNode

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 12: JavaScript cho Website (1): window, document, sự kiện, DOM — khóa Thiết kế Web

    Mô phỏng lệnh cloneNode(true) (sao chép sâu, deep clone) rồi chèn bản sao vào cây (bằng appendChild) như một nút con mới. Cho cây DOM, chỉ số nút cần sao chép (src) và chỉ số nút cha nơi bản sao sẽ được chèn vào, hãy tính tổng số nút của cây SAU KHI thực hiện việc sao chép và chèn.

    • Định dạng đầu vào:

      Dòng đầu là số nguyên n (số nút trong cây, 1 ≤ n ≤ 200). n dòng tiếp theo, dòng thứ i (1 ≤ i ≤ n) mô tả nút có chỉ số i theo cú pháp: "parentIdx tagName classes attrs"

      • parentIdx: chỉ số nút cha (0 nếu là nút gốc; nút gốc luôn có chỉ số 1). Nút cha luôn có chỉ số nhỏ hơn nút con (dữ liệu được cho theo thứ tự tạo/duyệt, đúng thứ tự các nút con được thêm vào — coi đây là thứ tự anh em trong cây).
      • tagName: tên thẻ HTML (chữ thường, không khoảng trắng).
      • classes: danh sách class cách nhau bởi dấu phẩy (không khoảng trắng), hoặc "-" nếu không có class.
      • attrs: danh sách cặp "tên=giá_trị" cách nhau bởi dấu chấm phẩy (không khoảng trắng), hoặc "-" nếu không có thuộc tính nào (giá trị không chứa dấu chấm phẩy hay khoảng trắng). Dòng cuối: "CLONE src targetParent".
    • Ràng buộc đầu vào:

      1 ≤ n ≤ 200. Nút targetParent không nằm trong cây con gốc tại src (đảm bảo phép chèn hợp lệ).

    • Định dạng đầu ra:

      In ra một số nguyên duy nhất là tổng số nút của cây sau khi sao chép và chèn bản sao.

    Ví dụ:

    Đầu vào:

    5
    0 div - -
    1 p - -
    1 span - -
    2 b - -
    2 i - -
    CLONE 2 3
    

    Đầu ra:

    8

    Chủ đề

    🌐 Thiết kế WebThiết kế WebThiết kế Web: DOM — Truy vấn & Thao tácTất cả môn học

    Đang tải editor...