Tôi đang làm việc với CMS ngăn chúng tôi chỉnh sửa phần đầu. Tôi cần phải thêm bản định kiểu CSS vào trang web, ngay sau thẻ. Có cách nào để làm điều này với JS, nơi tôi có thể thêm một kịch bản vào dưới cùng của trang (tôi có quyền truy cập để thêm kịch bản ngay trước thẻ) mà sau đó sẽ tiêm các stylesheet vào phần đầu?Thêm biểu định kiểu vào Đầu bằng javascript trong phần thân
Trả lời
Cập nhật: Theo specs, phần tử link
không được phép trong phần thân. Tuy nhiên, hầu hết các trình duyệt vẫn sẽ hiển thị nó tốt. Vì vậy, để trả lời các câu hỏi trong phần nhận xét - người thực sự phải thêm link
vào trang head
của trang chứ không phải body
.
function addCss(fileName) {
var head = document.head;
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = fileName;
head.appendChild(link);
}
addCss('{my-url}');
Hoặc một chút dễ dàng hơn với jquery
function addCss(fileName) {
var link = $("<link />",{
rel: "stylesheet",
type: "text/css",
href: fileName
})
$('head').append(link);
}
addCss("{my-url}");
câu trả lời gốc:
Bạn không cần thiết phải bổ sung nó vào đầu, chỉ cần thêm nó vào cuối thẻ body.
$('body').append('<link rel="stylesheet" type="text/css" href="{url}">')
như Juan Mendes đã đề cập, bạn có thể chèn stylesheet vào đầu thay vì
$('head').append('<link rel="stylesheet" type="text/css" href="{url}">')
Và cùng mà không jQuery (xem mã trên)
Bạn có thể sử dụng hầu như cùng một thứ để gắn nó vào đầu. –
@Juan Mendes, tôi biết, nhưng những gì tôi nói là nó chỉ có thể được chèn vào trong cơ thể – vittore
Xin chào, tôi đã thêm tập lệnh thứ hai mà bạn đã đề cập ngay trước thẻ
Nghĩa đen một vài câu hỏi xuống: http://stackoverflow.com/questions/11833325/css-hack-adding-css-in-the-body -of-a-website – Kwon
bạn đang sử dụng CMS nào? Thường có ít nhất một số cách được cung cấp để bao gồm chúng –
Bản định kiểu nội tuyến hoặc bên ngoài? –