我目前使用datatables.js在WordPress網站上提供一個目錄:example.com/directory
。如何使用jQuery .load,以便在所有腳本完成運行後,它都會引入一個元素?
我使用查詢字符串,所以我可以創建鏈接添加到過濾目錄的能力,當加載顯示目錄的一個子集:example.com/directory/?search=query
。
這裏是我使用的目錄頁上的代碼:
<script charset="utf-8" type="text/javascript">// <![CDATA[
jQuery(document).ready(function() {
jQuery.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (!results)
{
return '';
}
return unescape(results[1]) || '';
}
jQuery('#directory').dataTable({
"sPaginationType": "full_numbers",
"aLengthMenu": [[15, 30, -1], [15, 30, "All"]],
"iDisplayLength" : 15,
"oSearch": {"sSearch": jQuery.urlParam('search')}
}).rowGrouping()
jQuery('div.dataTables_filter input').focus();
});
// ]]></script>
而對於一個頁面,其中包括該目錄的一個子集:example.com/departmentpage
。
<script charset="utf-8" type="text/javascript">// <![CDATA[
jQuery(document).ready(function() {
jQuery("#result").load("http://example.com/directory/?search=departmentname #directory > *");
});
// ]]></script>
<div id="result"></div>
的.load
功能的作品,但它拉動整個原始表,不表,因爲它通常看起來主目錄頁上。我的假設是.load
函數在腳本運行之前拉動了#directory
。
有沒有一種方法,使.load
等到包含的網頁上的腳本運行它拉內容,存入包入頁面之前?
我最初的想法是確保最後想要運行的腳本位於腳本字符串的末尾。否則,將'.load()'放入一個函數並在最後一個腳本的末尾運行它?我知道有更好的方法可以讓它等待,我確定有人會發布它 – ntgCleaner