我想知道性能(或完全不同)
之间:
$(selector).load('page #myid');
和
$.get('page',function(data){
$(selector).html( $(data).find('#myid') );
/* depending the dom tree it should be .filter() */
})
答案 0 :(得分:1)
我认为使用load()或.get()更多的是与您的意图和要求有关,而不是表现。
<强>加载()强>
.load()
用于轻松/简单地加载文档或部分文档
它将加载完整的文档,然后使用innerHTML
解析HTML以仅返回您感兴趣的部分。
如果您只需要快速将某些内容加载到div中,那么$(element).load(url, selector)
就是您的选择。我认为load()
已针对此进行了优化。
获取()强>
与load()
不同,.get()
允许设置dataType
以获得更大的灵活性,例如跨域请求的JSONP。
它还实现了promise
界面,为其提供了Deferred Object
的所有功能。
来自文档:
Promise接口还允许jQuery的Ajax方法,包括 $ .get(),链接多个.done(),. fail()和.always()回调 在单个请求上,甚至在之后分配这些回调 请求可能已经完成。如果请求已经完成,那么 回调立即被解雇。
<强>摘要强>
在最基本的层面上,简单的.load(url, selector)
和.get(url, callback)
之间应该没有性价比差异。使用其中任何一个都应该没问题。
我想,这里没有对错。使用适合您需求的东西。
问自己类似的问题:
您需要跨域(JSONP)吗?
您需要链接.fail()
,.done()
等吗?
您是否需要get()
没有load()
提供的任何功能?
...
如果您使用load()
或get()
取决于您的要求。在这种情况下,性能是次要的。