Замените div с iframe в javascript - PullRequest
       2

Замените div с iframe в javascript

1 голос
/ 24 февраля 2012

У меня есть div на странице, например:

<div>
   <p>This is a div, but it should be an iframe.</p>
   <p>Here, all kind of stuff could be inside.</p>
   <table>
     <tr>
       <td>something</td>
     </tr>
   </table>
</div>

Я хочу заменить div на iframe, чтобы получить что-то вроде:

<iframe>
   <html><body>
   <p>This is a div, but it should be an iframe.</p>
   <p>Here, all kind of stuff could be inside.</p>
   <table>
     <tr>
       <td>something</td>
     </tr>
   </table>
   </body></html>
</iframe>

Как это можно сделать? Лучше было бы использовать чистое javascript-решение, но было бы неплохо и решение с использованием jQuery ExtJ.

Ответы [ 3 ]

2 голосов
/ 24 февраля 2012

попробуйте это:

<!DOCTYPE html>
<html>
    <head>
        <script>
            var p = {
                onload: function() {
                    var div = document.getElementById("div");
                    var iframe = document.createElement("iframe");
                    document.body.appendChild(iframe);
                    iframe.innerHTML = div.innerHTML;
                    div.parentNode.removeChild(div);
                }
            };
        </script>
    </head>
    <body onload="p.onload()">
        <div id="div">
            <p>This is a div, but it should be an iframe.</p>
            <p>Here, all kind of stuff could be inside.</p>
            <table>
                <tr>
                    <td>something</td>
                </tr>
            </table>
        </div>
    </body>
</html> 
1 голос
/ 24 февраля 2012

Поскольку вы сказали, что решения jQuery приемлемы, как насчет этого:

Во-первых, давайте предположим, что ваш div имеет идентификатор remove-my-contents.

Далее, мы могли бы сделать

$('#remove-my-contents').html('your iframe code goes here');

Он не удаляет <div>, но заменяет его содержимое кодом <iframe>.

Надеюсь, это поможет.

0 голосов
/ 25 февраля 2012

Ах, похоже, проблема с Firefox в том, что iframe остается пустым. Увидеть: Замените div на iframe в JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...