2009-06-11 23 views
20

Tôi cần thiết lập kiểu tùy ý cho một khoảng thông qua javascript.đặt một chuỗi kiểu toàn bộ thành một phần tử từ javascript (không phải các tham số kiểu riêng)

Tôi biết tôi có thể làm những việc như: span.style.height = "250px"; Nhưng tôi cần để có thể chèn một định nghĩa ngẫu nhiên phong cách đầy đủ từ một mẫu

ví dụ

float:left; 
text-decoration:underline; 
cursor:pointer; 
color:blue; 

Có cách nào để làm điều đó trong Javascript? Một cái gì đó như element.style = "tất cả các định nghĩa phong cách ở đây"; ?

+0

Nhận xét- phải là mã độc lập. Không có jQuery hoặc lib khác ... – Nir

+0

Có khả thi để tìm ra cách jQuery thực hiện nó? Nó hoàn toàn được viết bằng js, vì vậy nó phải ở đó. – Martijn

Trả lời

36

Làm thế nào về thuộc tính .style.cssText? Here's Microsoft's explanation.

Ném nó là phong cách bạn muốn áp dụng như sau:

document.getElementById('myEl').style.cssText = 'float:left;margin-top:75px;'; 

Đối với hỗ trợ trình duyệt, mặc dù nó là IE độc quyền tôi tin rằng nó hỗ trợ đầy đủ (công trình trong IES, FF3, và Safari 3.2 WIN ít nhất).

+2

Nó phải là 'document.getElementById ('myEl') style.cssText = 'float: left; margin-top: 75px;';', bởi vì 'cssText' là một chuỗi, không phải là một hàm. – panzi

+0

Bắt tốt. Nó phải là một chuỗi trong 3 năm qua! :-) – ajm

+1

FYI: Đây là thông tin [Quirksmode trên '.cssText'] (http://www.quirksmode.org/dom/w3c_css.html#t30) – Campbeln

2

element.setAttribute('style', '...'); nhưng không thành công trong IE.

a solution, nhưng tôi chưa thử.

8

Nếu bạn muốn nó được trọng lượng nhẹ, tạo một hàm như:

function setStyles(element, styles) 
{ 
    for(var s in styles) { 
     element.style[s] = styles[s]; 
    } 
} 

Sau đó, bạn sẽ vượt qua phong cách trong khi một đối tượng theo nghĩa đen:

setStyles(element, {float: "left", 
        textDecoration: "underline", 
        cursor: "pointer", 
        color: "blue"}); 

Lưu ý rằng các tài liệu tham khảo phong cách thông qua phải tuân theo cách đặt tên từ quan điểm JavaScript, vì hàm chỉ đơn giản là thay đổi kiểu bằng cách truy cập đối tượng style của phần tử thông qua JavaScript.

Nếu bạn phải nhập kiểu của bạn từ một chuỗi thì bạn có thể dễ dàng phân tích cú pháp và tạo đối tượng theo nghĩa đen.

Các vấn đề liên quan