jQuery中有一個(gè)可以設(shè)置請(qǐng)求上下文的參數(shù),即context。context參數(shù)可以讓你指定一個(gè)特定的DOM元素,作為Ajax請(qǐng)求的上下文環(huán)境。jQuery會(huì)將這個(gè)DOM元素作為一個(gè)jQuery對(duì)象來搜索,以找到與請(qǐng)求相關(guān)的所有元素。
通過設(shè)置context參數(shù),可以使jQuery在搜索請(qǐng)求相關(guān)元素時(shí)只搜索與指定DOM元素相關(guān)的元素,這樣可以大大減少搜索的范圍,提高搜索效率。
$.ajax({ url: "test.html", context: document.body // 將context設(shè)置為document.body }).done(function() { // 在document.body中搜索相關(guān)元素 });
如果context參數(shù)設(shè)置為一個(gè)選擇器字符串,則jQuery會(huì)將它作為一個(gè)CSS選擇器來搜索DOM元素。這樣能夠更加精準(zhǔn)地定位到相關(guān)的元素。
$.ajax({ url: "test.html", context: "#some-id" // 將context設(shè)置為選擇器#some-id }).done(function() { // 在#some-id元素中搜索相關(guān)元素 });
需要注意的是,當(dāng)在一個(gè)沒有指定context參數(shù)的Ajax請(qǐng)求中搜索元素時(shí),jQuery會(huì)搜索整個(gè)文檔。這對(duì)于大型頁面來說會(huì)極大地影響性能。
因此,我們應(yīng)該盡可能地使用context參數(shù),來限制搜索范圍,提高性能。