Có thể truy xuất thuộc tính kiểu theo tên lớp (ví dụ chiều rộng của một lớp), được xác định trong tệp CSS mà không phải tìm nạp nó từ một phần tử thực trong DOM không?Javascript/Prototype: Nhận giá trị css, không tham chiếu đến các phần tử DOM?
Trả lời
Nó thực sự là có thể, nhưng phức tạp hơn.
Bạn có quyền truy cập vào biểu định kiểu với thuộc tính document.styleSheets
.
Trong mỗi kiểu bạn cần phải truy cập vào các cssRules tài sản có chứa tất cả các quy tắc CSS trong stylesheet đó, vì vậy để có được những quy tắc đầu tiên trong stylesheet đầu tiên trong DOM bạn có thể làm
document.styleSheets[0].cssRules[0];
Để tìm một yếu tố nhất định bạn phải phân tích biểu định kiểu và đây là nơi mà nó phức tạp trong một số trường hợp, vì kiểu dáng được kế thừa vv nhưng nếu tìm kiếm một bộ chọn nhất định và một kiểu nhất định:
var rules = document.styleSheets[0].cssRules,
theRule = null;
for (var i=0; i<rules.length; i++) {
if (rules[i].selectorText.toLowerCase() == '#myelement') {
var width = rules[i].style.width;
break;
}
}
Tôi đoán không có cách nào để chọn CSS theo tên từ danh sách, ngoài việc lặp lại và khớp tên trong href, đúng không? – user76568
@Dror - Có thực sự là, 'rules [i] .selectorText' lấy văn bản chọn, chẳng hạn như' # elementID' hoặc '.class: hover' vv. Cần lưu ý rằng việc truy cập vào các bảng định kiểu như thế này thường là xấu ý tưởng, và khó có được quyền. – adeneo
Tôi đã đề cập đến tên của một tập tin css, đó là những gì bạn có nghĩa là tốt? – user76568
Có. Kiểm tra các tài sản document.styleSheets
.
https://developer.mozilla.org/en-US/docs/Web/API/document.styleSheets
Thiên Chúa (?) Chúc lành cho bạn, và cảm ơn bạn! ;) – user76568
- 1. Nhận giá trị css không có phần tử DOM
- 2. Tham chiếu đến giá trị của phần tử bản đồ STL?
- 3. Các phần tử mảng tham chiếu PHP
- 4. đèo tham chiếu đến phần tử trong C# Mảng
- 5. Uncaught Rickshaw.Graph cần tham chiếu đến phần tử index.js.erb
- 6. Javascript Nhận giá trị phần tử
- 7. Nhận phần tử DOM iframe cho URL của mình
- 8. Tham chiếu đến một phần tử bằng cách id một mình, không có document.getElementById
- 9. knockout.js - Nhận ViewModel từ phần tử DOM
- 10. Có thể tham chiếu đến phần tử bên trong std :: map bị vô hiệu không?
- 11. Giá trị và các loại tham chiếu
- 12. Nhận con của phần tử bằng giá trị thuộc tính
- 13. Làm cách nào để tham chiếu đến phần tử dom gọi trong hàm thành công jquery ajax?
- 14. Việc đánh số các toán tử gán với các giá trị thay vì tham chiếu
- 15. Tham chiếu Const trong std :: các phần tử vector
- 16. Làm cách nào để tham chiếu đến phần tử của std :: tuple?
- 17. Thuộc tính giá trị thay thế (không được chấp nhận) cho các phần tử li
- 18. jQuery nhận các giá trị di chuột css
- 19. Tham chiếu đến các biến trong C#?
- 20. html & javascript: Cách lưu trữ dữ liệu tham chiếu đến các phần tử html
- 21. Không thể tìm thấy phần tử điểm cuối mặc định tham chiếu đến hợp đồng
- 22. Có đúng để chuyển tham chiếu mô hình trực tiếp đến phần tử HTML không?
- 23. Thêm biến vào các phần tử DOM
- 24. Góc 2 thử nghiệm - lấy các kiểu phần tử DOM
- 25. Giá trị không được khởi tạo so với giá trị null của các loại tham chiếu
- 26. Có phương pháp trình duyệt chéo nào nhận các giá trị css được sử dụng của tất cả các thuộc tính của tất cả các phần tử không?
- 27. Nhận giá trị của nhiều phần tử với Jquery
- 28. STL: Lưu trữ các tham chiếu hoặc giá trị?
- 29. Giá trị đối tượng có nên giữ tham chiếu đến thực thể không?
- 30. WeakHashMap và giá trị tham chiếu mạnh
Câu hỏi rất thú vị .. Đang chờ trả lời – Mehmet