2010-03-23 37 views
20

Tôi cần có thể đặt lại trường nhập trở về màu gốc sau khi nó có thể được thay đổi qua javascript thành một giá trị khác. Vấn đề là tôi không muốn mã cứng giá trị trong trường hợp bảng định kiểu thay đổi. Tôi muốn sử dụng màu mặc định được sử dụng trên trang.Đặt lại màu phần tử thành màu của biểu định kiểu mặc định (jQuery, JavaScript)

Đặt lại màu như thế này hoặc có cách nào tốt hơn để thực hiện việc này không?

$('#theinput').css('color', ''); 

Trả lời

22

Không có cách nào tốt hơn. Đó là cách tiêu chuẩn.

Về cơ bản, không có cách nào để xóa thuộc tính CSS khỏi thuộc tính kiểu của các phần tử DOM. Vì vậy, tất cả những gì bạn có thể làm là đặt giá trị thuộc tính thành rỗng và để cho CSS thực hiện công việc hoàn nguyên về biểu định kiểu.

6

Nếu bạn muốn làm điều đó trong đồng bằng JavaScript, bạn có thể làm:

document.getElementById('theinput').style.color = ''; 

Vấn đề duy nhất với điều này, hoặc phương pháp jQuery của bạn, là nếu HTML có một thuộc tính style mà bộ tài sản color CSS . Nếu bạn muốn giữ nguyên điều đó, bạn phải lưu trữ khi tải trang.

Nhưng nếu không sao nếu không có thuộc tính kiểu thì bạn sẽ vàng.

+0

Bạn sẽ muốn một chuỗi rỗng thay vì null ở đó. – ajm

+0

@ajm: ah vâng, chúc mừng. –

0

Tốt, nhưng bạn phải chỉ định màu bên trong dấu ngoặc kép và id của thông tin nhập vào màu nào sẽ thay đổi.

này sẽ làm việc :)

$("#InputIdName").css('color', '#979797'); 
Các vấn đề liên quan