Search

How to insert HTML content into an iFrame using jQuery

post-title

Use the jQuery contents() method

You can use the jQuery contents() method in combination with the find()val() and html() methods to insert text or HTML inside an iframe body.

Let's try out the following example to understand how it basically works:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Insert HTML inside an iFrame</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<style>
    textarea, iframe{
        display: block;
        margin: 10px 0;
    }
</style>
<script>
    function updateIframe(){
        var myFrame = $("#myframe").contents().find('body');
        var textareaValue = $("textarea").val();
        myFrame.html(textareaValue);
    }
</script>
</head>
<body>
    <textarea rows="5" cols="50" placeholder="Type HTML or text here..."></textarea>
    <button type="button" onclick="updateIframe()">Insert Content</button>
    <iframe id="myframe"></iframe>
</body>
</html>