JavaScript nào sẽ xóa tất cả thẻ hình ảnh?Xóa tất cả hình ảnh
Trả lời
UPD: xin lỗi, đây là một câu trả lời sai, xem ý kiến. This là câu trả lời đúng.
Something như thế này:
images = document.getElementsByTagName('img');
for (i = 0; i < images.length; i++) {
images[i].parentNode.removeChild(images[i]);
}
HOẶC một sửa đổi nhỏ của nỗ lực đầu tiên của tôi để trả lời câu hỏi này:
var images = document.getElementsByTagName('img');
var l = images.length;
for (var i = 0; i < l; i++) {
images[0].parentNode.removeChild(images[0]);
}
Với jQuery:
$("img").remove();
Tôi có phải bao gồm toàn bộ thư viện chỉ cho một tác vụ đơn giản không? – steven
+1 jQuery ... không cần phải tái tạo lại bánh xe. :-) – beggs
@beggs: Tôi không đồng ý. Đưa ra một câu trả lời JQuery khi không có dấu hiệu cho thấy khung công tác JQuery đang được sử dụng, giống như đưa ra một câu trả lời dựa trên .NET cho câu hỏi C++. Nếu bạn đang sử dụng nó tuyệt vời và ok của nó như là một bình luận rằng nó có thể được xem xét woth nhưng nó không phải là một câu trả lời cho một câu hỏi không Jquery. n1313 câu trả lời là hầu như không khoa học tên lửa và thêm một khuôn khổ lớn .js vào trang của bạn để bạn không "tái tạo lại bánh xe" chỉ không có ý nghĩa. – AnthonyWJones
Nếu không sử dụng thư viện bên ngoài:
var images = document.getElementsByTagName('img');
for(var i=0; i < images.length; i++) {
images[i].parentNode.removeChild(images[i]);
}
Hoặc sử dụng jquery:
$('img').remove();
Tôi đã ninja'd;) – Keeper
Câu trả lời trước sẽ chỉ xóa từng ảnh thứ hai.
Hãy nhớ NodeLists được trả về bởi getElementsByTagName hoặc các phương thức DOM khác là ‘hoạt động’. Điều đó có nghĩa là khi bạn xóa hình ảnh 0, hình ảnh 1 –n chuyển xuống 0– (n-1); đây là 'sự lặp lại phá hoại'.
Để tránh điều này, hoặc là làm cho một mảng sao chép tĩnh của NodeList (như câu trả lời jQuery đang làm có hiệu quả), hay hơn, nhanh hơn, chỉ cần lặp danh sách ngược:
for (var i= document.images.length; i-->0;)
document.images[i].parentNode.removeChild(document.images[i]);
Một câu trả lời hoạt động, chúng ta hãy hy vọng steven cập nhật câu trả lời được chấp nhận để phản ánh điều này. –
này nên làm việc quá:
var images = document.getElementsByTagName('img');
while(images.length > 0) {
images[0].parentNode.removeChild(images[0]);
}
Vâng, đây là một cách tiếp cận tốt để lặp lại phá hoại, khi bạn biết bạn sẽ loại bỏ * mọi mục *. – bobince
Đây là câu trả lời hay nhất, vì cú pháp trong khi kết hợp với NodeList trực tiếp rõ ràng hơn. – eyelidlessness
- 1. Chọn tất cả hình ảnh PNG
- 2. jQuery phai tất cả hình ảnh khác
- 3. 'chọn tất cả' và 'xóa tất cả' bằng selected.js
- 4. Liệt kê tất cả hình ảnh của Google Map Marker
- 5. Kiểm tra xem tất cả hình ảnh được nạp
- 6. jquery div khi tất cả các hình ảnh được tải
- 7. Đặt tất cả ảnh thành hình vuông qua css
- 8. Chuyển đổi tất cả hình ảnh thành jpg
- 9. Android liệt kê tất cả hình ảnh có sẵn
- 10. Nhận tất cả hình ảnh từ Chương trình WebPage | Java
- 11. CSS ẩn tất cả hình ảnh có thuộc tính SRC
- 12. Nhận tất cả hình ảnh url từ chuỗi
- 13. Bọc tất cả hình ảnh bằng div bằng DOMDocument
- 14. Tệp hình ảnh duy nhất để lưu trữ tất cả hình ảnh nhỏ trên một trang
- 15. Xóa tất cả hình thu nhỏ được tạo bằng hình thu nhỏ dễ dàng Django App
- 16. Xóa tất cả khoảng cách trong QGridLayout
- 17. Xóa tất cả trẻ em khỏi QVBoxLayout
- 18. Xóa tất cả các thuộc tính
- 19. Cách xóa tất cả QGraphicsItem khỏi QGraphicsScene
- 20. Xóa tất cả các hàng trong bảng
- 21. Xóa tất cả các ngắt dòng (BR)
- 22. Xóa tất cả JavaScript khỏi trang HTML
- 23. xóa hình ảnh khỏi thư mục PHP
- 24. Postgres: xóa tất cả các bảng hoặc xếp hàng xóa?
- 25. HTML5 - localStorage xóa và xóa tất cả dữ liệu
- 26. Bắt tất cả hình nền hệ thống
- 27. Vẽ một phần hình ảnh thành màn hình (không tải tất cả vào bộ nhớ)
- 28. Xóa tất cả các tệp đã kiểm xuất mà không ảnh hưởng đến SVN repo
- 29. Xóa hình ảnh SWT TreeItem thụt lề
- 30. SQL: xóa tất cả dữ liệu khỏi tất cả các bảng có sẵn
Cải thiện được đề xuất: sử dụng 'var' để khai báo đúng 'hình ảnh' và 'i'. – bobbymcr
Tính năng này không hoạt động - xem giải thích bên dưới. – bobince
Khi bobince chỉ ra, câu trả lời này không tính đến thực tế là NodeList được trả về bởi getElementsByTagName là trực tiếp .. – NickFitz