写一个jquery等待iframe加载完成后获取其中元素的示例
时间: 2023-06-16 15:06:25 浏览: 158
以下是一个等待 iframe 加载完成后获取其中元素的示例代码:
```javascript
$(document).ready(function() {
var iframe = $('#my-iframe')[0];
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
$(iframeDoc).ready(function() {
var iframeElem = $(iframeDoc).find('#my-element');
console.log(iframeElem.text());
});
});
```
在这个示例中,我们首先选择了一个 iframe 元素,并获取了其 contentDocument 或 contentWindow.document 属性。然后,我们在 iframe 的文档加载完成时使用 jQuery 的 ready() 方法来获取 iframe 中的元素。最后,我们使用 jQuery 的 find() 方法来选择需要获取的元素,并使用 text() 方法获取其文本内容。
相关问题
jquery 动态加载iframe并获取中的html
你可以使用 jQuery 的 `$.get()` 方法来动态加载一个 iframe 页面,并获取其中的 HTML 内容。具体实现步骤如下:
1. 创建一个空的 iframe 元素,并将其添加到页面中。
```javascript
var iframe = $('<iframe>').appendTo('body');
```
2. 使用 `$.get()` 方法加载 iframe 页面,并将其内容设置为 iframe 的 src 属性。
```javascript
$.get('iframe_page.html', function(data) {
iframe.attr('srcdoc', data);
});
```
3. 使用 `iframe` 的 `contentDocument` 属性获取 iframe 中的文档对象,并获取其中的 HTML 内容。
```javascript
var iframeDoc = iframe[0].contentDocument;
var htmlContent = iframeDoc.documentElement.innerHTML;
```
完整代码示例:
```javascript
var iframe = $('<iframe>').appendTo('body');
$.get('iframe_page.html', function(data) {
iframe.attr('srcdoc', data);
var iframeDoc = iframe[0].contentDocument;
var htmlContent = iframeDoc.documentElement.innerHTML;
console.log(htmlContent);
});
```
在使用jQuery操作iframe内容时,如何正确获取并操作iframe中的document对象?
在Web开发中,iframe元素常用于嵌入另一个HTML页面。当需要对iframe内的文档进行DOM操作时,正确获取其document对象是基础步骤之一。jQuery提供了一种简便的方法来实现这一需求。首先,你需要通过iframe的ID或其他选择器定位到具体的iframe元素,然后利用jQuery的.prop()方法来获取iframe的window对象,最后通过访问window对象的document属性,即可获得iframe内的document对象。以下是一个具体的示例代码:
参考资源链接:[jQuery获取iframe的document对象的方法](https://wenku.csdn.net/doc/64534fcbea0840391e779724?spm=1055.2569.3001.10343)
\n```javascript
$(document).ready(function(){
// 通过ID选择iframe元素
var iframeDoc = $('#myiframe').prop('contentWindow').document;
// 现在iframeDoc变量中存储的就是iframe的document对象
// 你可以在这里执行进一步的DOM操作,例如获取或修改iframe内的元素
var title = iframeDoc.title;
console.log(title);
});
```
需要注意的是,根据同源策略,只有当iframe的内容与父页面属于同一域时,你才能成功获取其document对象。如果iframe加载的是外部域的内容,出于安全考虑,浏览器会限制跨域访问,此时上述代码将无法正常工作。此外,如果iframe中嵌入的是非HTML文档(比如图片或者PDF文件),那么iframe的document对象可能并不包含预期的DOM结构,这在实际操作中也需要考虑。以上介绍的内容及相关操作都在《jQuery获取iframe的document对象的方法》中进行了详细的说明和示例展示,该资源为理解如何操作iframe中的document对象提供了极大的帮助。
参考资源链接:[jQuery获取iframe的document对象的方法](https://wenku.csdn.net/doc/64534fcbea0840391e779724?spm=1055.2569.3001.10343)
阅读全文