2017-11-18 3 views
0

私は2つのファイルhtmlを持っていますが、どちらもid = exampleという同じ名前のdivを持っています。私は、$ .ajax()を使用して2番目のファイルからコンテンツをロードし、代わりに最初のファイルの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

あなたは1ページにAJAX呼び出しを実行すると、それは別のページを変更するために期待することはできません。 –

+0

最初のページでajaxを実行し、最初のページのみを変更したい – Pawel

+0

'contact.html'がフルページであると仮定して動作する必要があります。表示されているスニペットだけの場合は、 'find()'の代わりに 'filter()'を使用してください。デモを見るhttp://plnkr.co/edit/CoNXqxeJjAK7gS47QrfI?p=preview – charlietfl

答えて