Home > Article > Web Front-end > jquery method of operating iframe_jquery
Let’s first take a look at the help file for the object contents() in JQUERY
contents()
Overview
Find all child nodes (including text nodes) inside the matching element. If the element is an iframe, find the document content
Example
Description:
Find all text nodes and bold
HTML
jQuery
Hello
Johnhttp://ejohn.org/">John>, how are you
doing?
Description:
Add some content to an empty frame
HTML
jQuery
Remove the iframe border frameborder="0"
1 There are two ifames in the content
2 If there is an ifame with the ID of mainiframe in the content
ifame contains a someID
Get the content of someID
2 as shown above
jQuery in leftiframe operates the content of mainiframe and the content of someID
$("#mainframe",parent.document.body).contents().find("someID").html() or
$("#mainframe",parent.document.body).contents().find("someID").val()
Jquery gets the tag with id xuan in the parent window to which the iframe belongs
$(window.parent.document).find("#xuan").html(x);//
//JS creates an element and appends it to the Iframe of the parent element. DOM operation problem in the element:
Directly call the method in the parent window in the iframe: Assume that the parent window has an add method
self.parent.add();
================================================== ================
Differences in iframe document objects between IE and Firefox
In IE6 and IE7, we can use document.frames[ID].document to access the document object in the iframe sub-window. However, this is a writing method that does not comply with W3C standards and is also a unique method under IE. In Firefox But it cannot be used under Firefox. The document.getElementById(ID).contentDocument method that complies with the W3C standard is used under Firefox. When I wrote the example today, I tested it through IE8. IE8 also uses the method that complies with the W3C standard
document.getElementById(ID).contentDocument method. So we can write a universal way to get iframe under IE and Firefox
Function of document object—getIFrameDOM:
P.S.: If we want to get the window object of the iframe instead of the document object, we can use the document.getElementById(ID).contentWindow method. In this way, we can use the window object in the child window, such as the functions in the child window.
Use the function of the parent window in the child window to obtain the document object of the parent window
In the child window, we can get the window object of the parent window through parent. If we have a function called getIFrameDOM in the parent window, we can call it through parent.getIFrameDOM. In the same way, we can use parent.document. The document object of the parent window can be accessed in the child window.
Example of DOM manipulation of iframe using JavaScript
First, we introduce two iframe sub-windows in the parent window, with IDs wIframeA and wIframeB, and addresses: a.html and b.html respectively.
The main HTML code of the parent window is as follows:
Hello World!
1. In an iframe, the parent window operates the DOM of the child window
The parent window and the child window have been built, so that we can use the following iframeA() function in the parent window to change the background color of child window A to red:
2. In an iframe, the child window operates the DOM of the parent window
In the child window, we can easily operate the parent window DOM. We only need to add the method of the Yige parent object before the DOM operation. For example: in the above child window B, we can use the following The code replaces the content with the ID "pHello" in the parent window:
------------------
3. In the iframe, sub-window A operates the DOM of sub-window B
Since the child window can operate the window object and document object of the parent window, the child window can also operate the DOM of another child window~ Broken Bridge Canxue can directly use parent in child window B to directly call getIFrameDOM in the parent window. The function obtains the document object of sub-window A, so it is very simple to modify the content of sub-window A, such as the following code:
================================================== ====================================
A problem with the automatic change of iframe height has bothered me for a long time. I searched for information on the Internet, but it was not very good. I combined it with jquery (version 1.3.2), which is just 4 lines of code. It is perfectly compatible with IE, Firefox, Opera, Safari, Google
Chrome, js is as follows:
Quote
This keyword seems to have different meanings in various browsers. FF and IE must use the name of the iframe to get the internal page height, while other browsers can use this or ID
Quote
They are all talking about an asynchronous problem. If you use ajax a lot, but don’t want to set it up every time, then dynamically changing the iframe will definitely not meet your code cleanliness requirements. There is no other way, or you can leave the iframe. . I can only talk about the general processing methods. After all, ajax or dynamic forms only account for a small proportion in general applications. After an asynchronous request, you only need to add:
at the end.Js code