2012-02-20 28 views
12

Đây là cách bạn truy cập vào các yếu tố <body> để thiết lập một phong cách nền:Tôi làm cách nào để có thể tham chiếu đối tượng DOM tương ứng của đối tượng <HTML>?

document.body.style.background = ''; 

Nhưng làm thế nào tôi có thể truy cập vào các yếu tố <html> một cách tương tự? Các mục sau không hoạt động:

document.html.style.background = ''; 
+0

tôi có thể hỏi lý do tại sao bạn đã thiết lập một nền tảng về thẻ HTML? Nó có hiển thị không? –

+0

Nó hoạt động ... http://jsfiddle.net/aEHdw/ –

+0

@Grim [Ở đây bạn đi ...] (http://www.nealgrosskopf.com/tech/thread.php?pid=47) – tkane

Trả lời

22

Phần tử <html> có thể được chuyển qua thuộc tính document.documentElement. Nói chung, phần tử gốc của bất kỳ tài liệu nào có thể được chuyển qua .documentElement.

document.documentElement.style.background = ''; 

Lưu ý: .style.background trả về giá trị cho background như một inline style tài sản. Tức là, được xác định bằng cách sử dụng <html style="background:..">. Nếu bạn muốn để có được tài sản phong cách tính toán, sử dụng getComputedStyle:

var style = window.getComputedStyle(document.documentElement); 
var bgColor = style.backgroundColor; 
+1

Chỉ cần tò mò, bạn có biết tại sao họ sẽ gọi nó là documentElement thay vì document.html? Nó thực sự là IMO phản trực giác. – Lebowski156

+2

Có thể vì tất cả các tài liệu (XML, SVG, HTML, ...) đều có gốc và "html" sẽ rất cụ thể đối với các tài liệu HTML (X) HTML. –

4

Phần tử gốc (<html>) có thể được tìm thấy trong document.documentElement, không document.html.

Điều này là do documentElement là DOM chuẩn và không phải là tiện ích mở rộng HTML cụ thể.

0

Tại sao quá thiết lập các phong cách trên HTML, làm cơ thể sử dụng thẻ đối với bất kỳ phong cách ..

để thay đổi nền áp dụng trên html bạn có để có được vào thư mục gốc của trang

sử dụng tài liệu. documentElement thể làm

Sử dụng này

document.documentElement.style.background = ''; 
Các vấn đề liên quan