2017-11-18 45 views
0

我有两个文件的HTML,都具有相同的名称id =示例的div。我想使用$ .ajax()从第二个文件加载内容,并将第一个文件中的当前文本转换为div。问题是$(data).find('#example')不会返回元素#example。我知道这个错误是因为我使用相同的ID的名字,但毕竟我想从另一个文件下载这个div,所以我不明白。谁能解释一下?

的index.html:

<nav> 
    <ul> 
     <li><a href="index.html">home</a></li> 
     <li><a href="contact.html">contact</a></li> 
    </ul> 
</nav> 
<div id="example">one one one one </div> 

contact.html:

<nav> 
    <ul> 
     <li><a href="index.html">home</a></li> 
     <li><a href="contact.html">products</a></li>       
    </ul> 
</nav> 
<div id="example">one one one one </div> 

$('nav a').on('click', function(e){ 
 
    e.preventDefault(); 
 
    var url = this.href; 
 

 
    $.ajax({ 
 
     type: "POST", 
 
     url: url,  
 
     success: function(date){ 
 
      $('#example').html($(date).find('#example')); 
 
     } 
 
    }); 
 
});

+0

你不能在一个页面运行AJAX调用,并期望它修改另一页。 –

+0

我在第一页上运行ajax,我只想修改第一页 – Pawel

+0

假设'contact.html'是一个完整的页面,应该工作。如果只显示片段,则使用'filter()'而不是'find()'。请参阅演示http://plnkr.co/edit/CoNXqxeJjAK7gS47QrfI?p=preview – charlietfl

回答

相关问题