来自iframe的jquery clone()内容

时间:2012-08-27 06:22:24

标签: jquery clone

最初我想将一些从iframe加载的内容(div class =“StaffBlock”)转移到div class =“Contact-Agent-Append”。但是append()方法被证明不适用于iframe。通常它可以工作,但由于我使用模板而模板不是静止页面,我认为这就是为什么append()不能将内容带入当前页面。然后我注意到clone()正在运行,但它会意外地重复内容的20个克隆。请帮我把它克隆一次。非常感谢。

这是包含iframe的原始编码:

<div class="Contact-Agent-{tag_Publish As Agent}">

    <div class="Contact-Agent-Small-Logo-listing" title="this property is published by agent">
    </div>
    <iframe scrolling="no" height="60px" frameborder="0" width="150px" src="{tag_listing agent staff url}" marginwidth="0px" marginheight="0px" style="overflow:hidden; margin:0; padding:0; display: none;"></iframe>
    <script type='text/javascript'>//<![CDATA[
    $(window).load(function(){
    $('iframe').contents().find('.StaffBlock').clone().appendTo($('.Contact-Agent-Append'))
    });//]]>
    </script> 
    <div class="Contact-Agent-Append">content should go here
    </div>

</div>

这是存储在包含StaffBlock的远程网址中的内容:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/StyleSheets/listing-contact.css" />
</head>
<body>
<div class="listing-contact">
<div class="StaffBlock">
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td class="col-a">{tag_name}</td>
    <td class="col-b" rowspan="4">{tag_Staff Photo}</td>
  </tr>
  <tr>
    <td>{tag_job title}</td>
  </tr>
  <tr>
    <td>{tag_mobile}</td>
    </tr>
  <tr>
    <td><a href="mailto:{tag_email}">email me</a></td>
  </tr>
</table>
</div>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:3)

你有多个Contact-Agent-Append类的div?

不应使用不可见的iframe,而应使用AJAX:

$(".Contact-Agent-Append").load("{tag_listing agent staff url} .StaffBlock:first");
  

.load(url [,data] [,complete(responseText,textStatus,XMLHttpRequest)])

     

描述:从服务器加载数据并将返回的HTML放入匹配的元素中。

http://api.jquery.com/load/#loading-page-fragments