2010-08-31 29 views
5

Có ai biết nếu bạn có thể loại bỏ các phần tử đầu trên một nút bấm và làm thế nào để làm điều đó với jQuery?jQuery - tự động loại bỏ các phần tử đầu trên click

Tôi đang cố loại bỏ một số thẻ tập lệnh nhất định khỏi đầu html khi nút được nhấp. Ví dụ: . Tôi có 1 màn hình xem với một slideshow được điều khiển bởi một tập tin javascript bên ngoài. Khi tôi nhấp vào một nút "Nhấn vào đây để thoát khỏi các yếu tố này JS" Tôi muốn loại bỏ các đường dẫn javascript bên ngoài từ đầu HTML.

Mọi ý tưởng. Đã làm việc này trong một tuần hoặc lâu hơn.

+0

Lạ. Tại sao bạn sẽ bao gồm tập lệnh khi bạn thực sự muốn xóa nó? Tôi đoán, bạn không kiểm soát hiển thị của trang đó. – simplyharsh

Trả lời

2

Tôi không nghĩ rằng đây là ý tưởng hay để xóa toàn bộ phần tử HEAD. Nguyên nhân Trang của bạn có thể chứa một số phần tử khác (ví dụ: tiêu đề, kiểu ..) được nối thêm đến Đầu Phần tử. Nếu bạn muốn xóa một đặc biệt script Yếu tố làm điều gì đó như

$(function() { 
    $('input[type=button]').click(function() { 
     $('script[src=path/file.js]').remove(); 
    }); 
}); 

Sửa:

var flag = false; 
function breakTheCode() { 
    if(!flag) { 
     //run your code 
    }else return; 
} 

$(function() { 
    $('input[type=button]').click(function() { 
     flag = true; //flag is set, so we no more using/ running your code 
     breakTheCode(); //call you function/method 
    }); 
}); 
+0

điều này có làm mất các biến và hàm được định nghĩa trong đường dẫn/tệp.js không? – KeatsKelleher

+0

@akellehe Tha thứ cho tôi :) Tôi chưa hiểu bình luận của bạn. bạn có nghĩa là, nếu mã trên được viết trong 'path/file.js' huh ?? –

+0

Xin lỗi, có, nếu bạn đặt một biến hoặc một hàm trong tệp nằm ở đường dẫn/tệp.js và bạn đưa nó làm nguồn tập lệnh vào đầu tài liệu; chức năng này bạn đề nghị không đặt các biến và chức năng trong tập tin đó? – KeatsKelleher

3

Bạn có thể làm việc này bằng javascript, chắc chắn, nhưng trước khi bạn làm điều đó, có lẽ bạn muốn tự hỏi mình một lần nữa lý do tại sao. Dưới đây là một liên kết mô tả làm thế nào để làm điều đó trong javascript tinh khiết với một ví dụ jquery được cung cấp bởi người trả lời khác:

http://www.javascriptkit.com/javatutors/loadjavascriptcss2.shtml

Nhưng cố gắng ghi nhớ rằng các trình duyệt hiện đại nhất sẽ giữ cho các nguồn lực bên ngoài trong bộ nhớ cho ít nhất miễn là trang được mở. Do đó, bạn sẽ không thực sự làm được nhiều.

+1

+1 Đối với liên kết :) –

9

Bạn có thể thêm một id để một yếu tố kịch bản sau đó loại bỏ ID:

<script type="text/javascript" src="init.js" id="initJs" ></script> 

<span id="removeScript"></span> 

$('#removeScript').click(function() { 
    $('#initJs').remove(); 
}); 
+0

Cảm ơn bạn. Tôi đã tìm kiếm một giờ, và đây là giải pháp duy nhất đã hoạt động. –

1

Về phần tôi giải pháp tốt nhất là sử dụng ID trên kịch bản. Tôi đọc nhiều trang trên web, thử nhiều giải pháp và người duy nhất hoạt động tốt mỗi lần là xóa một tập lệnh giống như một div có id!

1

Để xóa tệp js: $ ("script [src = 'your.js']"). Remove();

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