2012-07-30 40 views
14

Tôi có một trang chứa iframe cho trang khác, những gì tôi đang tìm kiếm là nhấp vào nội dung nào đó trong iframe, sau đó có thể truy cập hoặc ẩn cụ thể hơn một div trong cha mẹ. Tôi biết một số JQuery nhưng đối với một số lý do chỉ ngồi đó trống rỗng vào trình biên tập mã khi tôi cố gắng viết nó trên của riêng tôiquyền truy cập div trong iframe parent

+1

Trang và iframe có được lưu trữ trên cùng một tên miền phụ không? – rekire

+0

có, chúng tôi có quyền truy cập vào cả hai trang nếu mã cần truy cập vào –

+0

@Andrew Morris Mã acces không phải là vấn đề - nhưng trình duyệt không cho phép tác vụ JavaScript trên các tên miền khác nhau. Và các tên miền đó phải khớp chính xác (ngay cả giao thức phải giống nhau - bạn không thể xử lý trang web https qua JS từ trang web http) – feeela

Trả lời

34

thử điều này trong iframe:

$('#DIVtobehidden', window.parent.document).hide(); 
+1

Cảm ơn, đây là cái tôi đã sử dụng, công trình tuyệt vời –

+0

sẽ hoạt động nếu cha mẹ ở trên một miền khác? – Awalias

2
$("#element-In-Iframe").on('click', function() { 
    $('#element-in-parent-window', window.parent.document).hide(); 
}); 

FIDDLE

+0

@CrystalMiller - Nó được sử dụng để làm việc ba năm trước, lưu ý rằng nó cũng chính xác giống như câu trả lời được chấp nhận. Những ngày này JSFiddle đang chạy iframe riêng của nó từ một tên miền phụ shell, vì vậy chính sách cùng xuất xứ bắt đầu. – adeneo

0

Nếu cả hai trang đều ở cùng một miền (phụ), bạn sẽ có thể truy cập vào cửa sổ chính với:

window.parent.document.getElementById('divId') 

Đây không phải là jQuery nhưng phải hoạt động

+0

Đó là một cách khác! – adeneo

+0

Lỗi của tôi, tôi sẽ sửa lỗi đó. – rekire

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