Tôi cần xóa tất cả các định nghĩa kiểu trong một trang bằng cách sử dụng javascript, để có được kết quả tương tự như đang thực hiện View > Page Style > No Style
trong Firefox. Đó là cách đơn giản nhất?cách đơn giản nhất để xóa tất cả các kiểu trong một trang
8
A
Trả lời
13
Bạn có thể đệ quy lặp qua tất cả các yếu tố và loại bỏ các style
thuộc tính:
function removeStyles(el) {
el.removeAttribute('style');
if(el.childNodes.length > 0) {
for(var child in el.childNodes) {
/* filter element nodes only */
if(el.childNodes[child].nodeType == 1)
removeStyles(el.childNodes[child]);
}
}
}
removeStyles(document.body);
Để loại bỏ stylesheets liên kết bạn cũng có thể sử dụng đoạn mã sau:
var stylesheets = document.getElementsByTagName('link'), i, sheet;
for(i in stylesheets) {
sheet = stylesheets[i];
if(sheet.getAttribute('type').toLowerCase() == 'text/css')
sheet.parentNode.removeChild(sheet);
}
8
Nếu bạn có jQuery, bạn có lẽ có thể làm điều gì đó như
$('link[rel="stylesheet"], style').remove();
$('*').removeAttr('style');
1
Sử dụng ES6 Array.from
Array.from(document.querySelectorAll('link[rel="stylesheet"], style'))
.forEach(elem => elem.parentNode.removeChild(elem));
1
Đây là sự tốt lành ES6 bạn có thể làm với chỉ một dòng.
1) Để loại bỏ tất cả các phong cách nội tuyến (ví dụ: style="widh:100px"
)
Array.from(document.querySelectorAll('[style]'))
.forEach(el => el.removeAttribute('style'));
2) Để xóa liên kết bên ngoài stylesheet (ví dụ: <link rel="stylesheet"
)
Array.from(document.querySelectorAll('link[rel="stylesheet"]'))
.forEach(el => el.parentNode.removeChild(el));
3) Để loại bỏ tất cả các thẻ inline style (ví dụ: <style></style>
)
Array.from(document.querySelectorAll('style'))
.forEach(el => el.parentNode.removeChild(el));
Các vấn đề liên quan
- 1. Cách đơn giản nhất để có được MediaWiki yêu cầu HTTPS trên tất cả các trang?
- 2. Cách đơn giản để xóa tất cả các ký tự không phải từ
- 3. Trong Vim, cách đơn giản nhất để nối tất cả các dòng trong một tệp vào một dòng là gì?
- 4. Làm cách nào để xóa tất cả các kiểu nội dòng bằng javascript và chỉ để lại các kiểu được chỉ định trong trang kiểu css?
- 5. Xóa tất cả JavaScript khỏi trang HTML
- 6. Công thức đơn giản nhất để tính số trang?
- 7. Làm cách nào để xóa tất cả các thẻ sau một số thẻ nhất định?
- 8. cách xóa tất cả các tệp trừ ba tệp mới nhất trong một thư mục
- 9. Cách đơn giản để lập trình có được tất cả các thủ tục được lưu trữ
- 10. PHP: Cách đơn giản nhất để xóa thư mục (bao gồm nội dung của nó)
- 11. Làm cách nào để xóa tất cả các mục ListBox?
- 12. Cách nhanh nhất để xóa tất cả dữ liệu trong một bảng lớn
- 13. cách đơn giản nhất để hiển thị động nội dung toán học trên các trang web
- 14. Git: cách tốt nhất để xóa tất cả các thay đổi khỏi một tệp nhất định cho một chi nhánh
- 15. Ẩn tất cả các phần tử có lớp bằng cách sử dụng Javascript đơn giản
- 16. Cách xóa tất cả các khoảng trắng trong java
- 17. Cách đơn giản nhất (URL?) Để kích hoạt cam kết SOLR của tất cả tài liệu đang chờ xử lý?
- 18. Tìm tất cả các nút văn bản trong trang HTML
- 19. Xóa tất cả các kiểu nội tuyến bằng cách sử dụng BeautifulSoup
- 20. Xóa tất cả các hàng trong bảng
- 21. Trong MySQL, làm cách nào để xóa/xóa/xóa tất cả nhật ký không cần thiết?
- 22. Làm cách nào để xóa tất cả các dấu câu theo sau một chuỗi?
- 23. iPhone: Cách xóa tất cả các đối tượng khỏi UIScrollView
- 24. Xóa tất cả khoảng cách trong QGridLayout
- 25. Xóa tất cả các tập tin trong một thư mục
- 26. Làm cách nào để xóa tất cả các phiên Flask?
- 27. Cách đơn giản nhất để tăng ngày trong PHP?
- 28. Xóa TẤT CẢ kiểu/định dạng khỏi siêu liên kết
- 29. Xóa tất cả các thành viên của một danh sách mà không thống nhất trong Prolog
- 30. Xóa tất cả các cam kết trong một chi nhánh sau khi cam kết nhất định
Điều này sẽ xóa kiểu được áp dụng trực tiếp với các phần tử, nhưng sẽ không ảnh hưởng đến CSS. –
@kennis Cảm ơn bạn đã chỉ ra điều đó - chỉ cần sửa đổi câu trả lời của tôi ... – xandercoded
Mã của bạn có vẻ đầy hứa hẹn. Nhưng dù sao, tôi phải chạy đoạn thứ hai hai lần để có hiệu lực. Tại sao? Tái bút: .toLowerCase() – tic