替换所有<a> hrefs in div with iframes</a>

时间:2014-03-06 22:09:28

标签: jquery iframe

我正在尝试在页面加载或页面加载之前读入hrefs列表,并将所有href转换为指向href用于指向的位置的iframe。例如:

拿这个:

<div id="maincontent" >
<p> </p>
<a href="http://page1.html">page1.html</a><br />
<br />
<a href="http://page2.html">page1.html</a><br />
<br />
<a href="http://page3.html">page1.html</a><br />
<br />
</div>

并替换为:

<div id="maincontent" >
<iframe src="http://page1.html"></iframe>
<iframe src="http://page2.html"></iframe>
<iframe src="http://page3.html"></iframe>
</div>

我也希望能够在我使用时删除br和p标签。有人可以告诉我如何将内容读入jQuery,然后以新格式将其重写到页面中吗?非常感谢您的专业知识!

3 个答案:

答案 0 :(得分:1)

类似的东西:

$("#maincontent a").each(function() {
    var src = this.href;
    $(this).replaceWith("<iframe src='" + src + "' />");
});

答案 1 :(得分:0)

$('#maincontent a').each(function(){

  var href= $(this).attr('href');
  var iframe = $('<iframe>', {src:href});
  $(this).replaceWith(iframe);

});

答案 2 :(得分:0)

您可以先将内容放入变量中。

E.g。     var $ maincontent = $('#maincontent');

然后使用find将所有元素匹配为“a”标记。

var $links = $maincontent.find("a");

清除现有div中的所有元素。

$maincontent.html("");

然后浏览链接并根据标记创建iframe。

$links.each(function(){
    var href = $(this).prop("href");
    var $iframe =  $("<iframe>").prop("src",href);
    $maincontent.append($iframe);
});

你也可以在每个中创建html as String来创建html并替换原来的html。在maincontent div。