2011-11-07 37 views
11

Làm cách nào để xóa hình nền khỏi kiểu phần tử. Tôi không muốn đặt nó thành không hoặc 0. Tôi muốn xóa hoàn toàn. nó xung đột với moz-linear-gradient được xác định trong một lớp khác.xóa hình nền khỏi kiểu

<div style="background-image:url(http://domain.com/1.jpg); width:100px" class="mozgradient"></div> 
+4

Chúng tôi cần làm rõ ở đây. Loại bỏ nó 'làm thế nào'? Trong trình soạn thảo văn bản? Qua CSS? Sử dụng Javascript? –

+0

Xóa nó qua jQuery hoặc javascript để div trông giống như '

' – Pinkie

+0

@Pinkie Theo như tôi biết mọi phần tử có hình nền: không; theo mặc định. Việc xóa nó bằng JavaScript sẽ chỉ đặt lại giá trị mặc định vì nó không có thuộc tính ghi đè. Rất tiếc là bạn không thể loại bỏ nó. – joshnh

Trả lời

14

Bạn đã thử:

$(".mozgradient").css("background", ""); 

Đặt nền thành chuỗi trống sẽ xóa kiểu nội tuyến mà lớp và cài đặt biểu định kiểu khác có hiệu lực nhưng không ảnh hưởng đến các kiểu khác được đặt nội tuyến như width. (Trong trường hợp này, loại bỏ nó khỏi tất cả các yếu tố với lớp mozgradient ngăn chặn xung đột bạn đang nói đến.)

Từ the jQuery .css() doco:

Thiết lập giá trị của một thuộc tính cho một chuỗi rỗng - ví dụ $ ('# mydiv') .ss ('color', '') - loại bỏ thuộc tính đó khỏi một phần tử nếu nó đã được áp dụng trực tiếp, cho dù thuộc tính kiểu HTML, thông qua phương thức .css() của jQuery hay thông qua trực tiếp Thao tác DOM của thuộc tính style.

+0

Điều này thật thú vị! Tôi cần phải thử điều này. Có thể là một mẹo hữu ích! –

+0

nnnnnn - đó là thông tin tốt! Phần cuối của tài liệu này dường như chỉ ra chính xác những gì @pinkie đang tìm kiếm "Nó không, tuy nhiên, loại bỏ một kiểu đã được áp dụng với một quy tắc CSS trong một biểu định kiểu hoặc thành phần