jquery获取父页面元素
使用 window.parent 访问父页面
通过 window.parent 可以获取父页面的全局对象,进而操作父页面的 DOM 元素。例如,在 iframe 中获取父页面的某个元素:
var parentElement = window.parent.document.getElementById('parentElementId');
通过 parent.$() 调用父页面 jQuery
如果父页面已加载 jQuery,可以直接通过 parent.$ 使用父页面的 jQuery 方法:
var parentElement = parent.$('#parentElementId');
跨域限制与解决方法
若父子页面域名不同,浏览器会因安全策略阻止跨域访问。解决方法包括:
- 设置
document.domain(仅限主域相同的情况):// 父页面和子页面均设置 document.domain = 'example.com'; - 使用
postMessage通信:
父页面监听消息:window.addEventListener('message', function(event) { if (event.data.action === 'getElement') { var element = document.getElementById(event.data.elementId); event.source.postMessage({ element: element.outerHTML }, event.origin); } });子页面发送请求:
window.parent.postMessage({ action: 'getElement', elementId: 'parentElementId' }, '*');
直接操作父页面表单
通过 window.parent.document.forms 可以访问父页面的表单元素:
var parentForm = window.parent.document.forms['formName'];
parentForm.elements['inputName'].value = 'new value';
注意事项
- 确保父页面 DOM 已加载完成,否则可能获取不到元素。可在子页面使用
window.parent.$(document).ready确保同步。 - 跨域场景需谨慎处理权限问题,避免安全漏洞。







