jQuery Load方法是一個常見的AJAX功能, 可以通過$.load()函數(shù)將URL數(shù)據(jù)返回到頁面的div, span或其他元素中. 可以在同一頁中不斷使用$.load()來動態(tài)加載內(nèi)容, 以達到不刷新頁面的目的。
$('#some-div').load('content.html');
但是, 在一個頁面中多次使用$.load()方法加載內(nèi)容, 可能會出現(xiàn)一些問題. 首先, 如果在載入某個元素之前, 這個元素已經(jīng)被載入過, 那么后面的$.load()將不起作用. 其次, 如果在多個頁面上同時使用$.load(), 可能會導致某些頁面不起作用或出現(xiàn)問題.
$('#some-div').load('content1.html'); $('#another-div').load('content2.html'); $('#some-div').load('content3.html');
為避免這些問題, 可以在每次使用$.load()方法前確保元素不存在, 或者使用$.get()或$.ajax()方法來代替$.load().
if($('#some-div').length){ $('#some-div').load('content1.html'); }else{ $.get('content1.html', function(data){ $('body').append(''); $('#some-div').html(data); }); } if($('#another-div').length){ $('#another-div').load('content2.html'); }else{ $.get('content2.html', function(data){ $('body').append(''); $('#another-div').html(data); }); } if($('#some-div').length){ $('#some-div').load('content3.html'); }else{ $.get('content3.html', function(data){ $('body').append(''); $('#some-div').html(data); }); }
在這個例子中, 我們首先檢查所需的元素是否已存在, 如果不存在就使用$.get()方法獲取內(nèi)容并將其放入新建的div中, 這樣我們就可以確保元素不存在導致的錯誤. 同時, 條件語句還可以保證對相同元素的連續(xù)操縱不會出現(xiàn)問題.