2013-12-18 59 views

Trả lời

1

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; 
    } 
} 
+0

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

+0

@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

+0

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ác vấn đề liên quan