2010-06-10 38 views
13

Tôi đang làm việc trên một javascript nhúng có thể chèn các phần tử HTML vào các trang không xác định. Tôi không có quyền kiểm soát các bảng định kiểu của các trang mà tôi sẽ chèn HTML vào. Vấn đề là HTML tôi chèn sẽ bị cách điệu nhầm bởi trang, và tôi muốn ngăn chặn điều đó.Tôi làm cách nào để "đặt lại" kiểu cho một phần tử HTML đã cho?

Giải thích chi tiết và/hoặc tốn kém nhất để đảm bảo các yếu tố tôi chèn là chính xác là như tôi muốn chúng? Có cách nào dễ dàng để xóa tất cả kiểu dáng cho một phần tử HTML và con không? Ví dụ, trong firebug, bạn có thể xóa tất cả kiểu dáng. Tôi cảm thấy như có phải và ít nhất nên, là cách tự nhiên để miễn một số phần tử HTML nhất định khỏi quy tắc biểu định kiểu?

Ví dụ:

var myHTML = $("<div>my html in here</div>"); 
myHTML.resetAllStyles(); //<--- what would this function do? 
myHTML.appendTo("body"); 

Tôi thực sự muốn tránh một cách rõ ràng nêu các thuộc tính tôi muốn cho mỗi yếu tố tôi chèn ...

PS: Tôi có rất nhiều kinh nghiệm với JS và CSS, vì vậy bạn có thể giả định rằng tôi sẽ hiểu khá nhiều bất cứ điều gì bạn sẽ nói với tôi.

+0

+1 cho cuộc thảo luận tuyệt vời mà bạn đã bắt đầu :) – 2ndkauboy

Trả lời

2

Bạn không thể ngăn phần tử kế thừa kiểu CSS từ nút cha. Tất cả những gì bạn có thể làm là ghi đè tất cả các kiểu đã được kế thừa.

+0

Rất tiếc. Ai là những kẻ ngốc nhìn thấy ngắn đã đưa ra thông số này? – Sambo

+2

@Sambo - Có các cơ chế để thực hiện việc này, nếu bạn muốn có khung, hãy sử dụng khung, một '