Tôi bắt đầu với JavaScript và DOM, cố gắng tránh xa jQuery và những thứ tương tự, ít nhất là trong một thời gian ngắn. Với ý nghĩ đó, hướng dẫn thường cung cấp một ví dụ như thế này:Hiểu chuỗi DOM cơ bản
h = document.createElement("h1");
t = document.createTextNode("Hello.");
h.appendChild(t);
document.body.appendChild(h);
Trong một nỗ lực để sắp xếp này và tránh các biến, tôi bị xiềng xích thành công như sau:
document.body.appendChild(document.createElement("h1")).appendChild(document.createTextNode("Hello."));
Trong khi làm việc này, tôi đã cố gắng để rút ngắn hoạt động thêm vào trước sau:
h = document.createElement("h1");
t = document.createTextNode("Put this on top.");
h.appendChild(t);
document.body.insertBefore(h,document.body.firstChild);
như sau:
document.body.insertBefore(document.createElement("h1")).appendChild(document.createTextNode("Put this on top."),document.body.firstChild);
Nhưng lần này nó không hoạt động như mong muốn: văn bản được đặt ở phần cuối của phần tử BODY, có được một phụ thêm thay vì một phần thêm.
Tôi tưởng tượng trường hợp đầu tiên thành công chỉ là một tiếng sáo, nhưng tôi không thể thấy có gì sai với thực hành chuỗi này.
Bạn đã đóng 'của bạn insertBefore () 'parens sau' createElement() '. Vì vậy, chuỗi dường như đã tiếp tục với phương thức 'appendChild()'. Điều làm tôi ngạc nhiên, tôi đã dự kiến sẽ có lỗi. –
Mặc dù chuỗi như thế này là thú vị như một cách để hiểu làm thế nào các phương pháp này làm việc, kết quả là khó đọc. Phải di chuyển sang phải để xem toàn bộ câu lệnh là loại gây phiền nhiễu, nhưng bạn có thể đặt ngắt dòng trước '.appendChild()' hoặc sau khi mở parens từ một hoặc nhiều phương thức ... – nnnnnn
Sử dụng công cụ rút gọn để "hợp lý hóa và tránh các biến "- bạn chỉ làm cho mã của mình khó đọc, duy trì và mở rộng hơn. – jbabey