Javascript 如何在jquery中选择div并用iframe替换它

Javascript 如何在jquery中选择div并用iframe替换它,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我有jquery代码,它被设置为选择一个名为wrap的“div” 我要做的是将所选的“div”更改为id为news的“iframe” 我试过一些方法,但都没有成功。下面是我的代码 $('document').ready(function () { var $wrap = $('#wrap'), page = 1; $('#next').on('click', function () { getPage(++page); });

我有jquery代码,它被设置为选择一个名为
wrap
的“div”

我要做的是将所选的“div”更改为id为
news
的“iframe”

我试过一些方法,但都没有成功。下面是我的代码

$('document').ready(function () {
    var $wrap = $('#wrap'),
        page = 1;

    $('#next').on('click', function () {
        getPage(++page);
    });

    $('#prev').on('click', function () {
        getPage(--page);
    });

    var getPage = function (page) {
        $wrap.load('proxy.php?page=' + page + ' #postsArea');
    };

    getPage(page);

});
下面是生成的HTML

<body>
<div id="wrap">
</div>
<button type="button" id="next">Next</button>
<button type="button" id="prev">Previous</button>
</body>

下一个
以前的
下面是我想把它改成的

<body>
<iframe id="news">
</iframe>
<button type="button" id="next">Next</button>
<button type="button" id="prev">Previous</button>
</body>

下一个
以前的
试试这个:

document.getElementById('news').src = "proxy.php?page="+page+"#postsArea";

使用
src
属性更改iframe源

$('#news').attr('src', "proxy.php?page="+page+"#postsArea")

如果您想替换一个完整的元素,我建议将目标对准其父元素:

$("#mydiv").parent().html("<iframe>....</iframe>");
$(“#mydiv”).parent().html(“..”);

html()返回元素的内部html。因此父级的内部是元素本身。

您不能使用JQ查询replaceWith

  $( "div#wrap" ).replaceWith('<iframe id="news" src=".."></iframe);
$(“div#wrap”)。替换为('尝试使用outerHTML:

document.getElementById("wrap").outerHTML="<iframe id='news'></iframe>";
document.getElementById(“wrap”).outerHTML=“”;
下面是小提琴:

我想做的是将所选的“div”更改为带有id新闻的“iframe”。

这就是如何做到这一点,并在您编写的函数中为它提供所需的URL

var getPage = function (page) {
    $("#news").replaceWith($('<iframe>', {
        src:'proxy.php?page=' + page + ' #postsArea',
        id:'news'
    }));
};

代码中没有提到iframe,那么您尝试过什么?为什么要这样做?您可以像现在一样将内容加载到div中。您需要更改iframe的src文件请求,您不能简单地将其加载到iframe中。您在这里所做的是使用jq加载方法而不是iframe。您可以显示您的HTML吗问题询问“我想做的是将所选的'div'更改为'iframe'”,而您得到的答案并没有解决这一问题,一些答案假设
#news
已经是一个iframe。是吗?我用'HTML'更新了我的问题,希望它有所帮助。这不是以前的答案asked@popnoodles如果我可以问的话,那是什么?“我想做的是将所选的‘div’更改为带有id新闻的‘iframe’。”这很公平,但您肯定只需打开HTML文件,按住div的Ctrl+F键,并将其替换为iframe?:p非常感谢您的帮助。若您这样做,您将销毁#mydiv的兄弟姐妹。正确,这仅在mydiv是唯一的孩子时才有效。
<iframe id="news" style="display:none;"></iframe>
var getPage = function (page) {
    $("#news").prop('src', 'proxy.php?page=' + page + ' #postsArea').show();
};