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'));
}
});
});
あなたは1ページにAJAX呼び出しを実行すると、それは別のページを変更するために期待することはできません。 –
最初のページでajaxを実行し、最初のページのみを変更したい – Pawel
'contact.html'がフルページであると仮定して動作する必要があります。表示されているスニペットだけの場合は、 'find()'の代わりに 'filter()'を使用してください。デモを見るhttp://plnkr.co/edit/CoNXqxeJjAK7gS47QrfI?p=preview – charlietfl