十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
jquery load方法用法详解
创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序开发,10余年建站对成都塑料袋等多个方面,拥有多年的网站设计经验。
1.load定义和用法,load() 方法通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中。jquery load是jquery ajax中的一种功能,load可以方便快速的直接加载一个页面到指定div中(html,php),并且它可以带参数。
2.还存在一个名为 load 的 jQuery 事件方法。调用哪个,取决于参数。
下面是几个例子:
1).加载一个php文件,该php文件不含传递参数
$("#myID").load("test.php");
2).加载一个php文件,该php文件含有一个传递参数
$("#myID").load("test.php",{"name" : "Adam"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam
或者直接
$("#divResult").load("jqueryLoad?username=" + username + "un="+$("#username").val()+"timestamp=" + (new Date()).getTime());
3).使用 AJAX 请求来改变 div 元素的文本
$("button").click(function(){
$("div").load('demo_ajax_load.txt');
});
以 POST 形式发送附加参数并在成功时显示信息。
$usr = $('#usr1').prop('value');
$pwd = $('#pwd1').prop('value');
$("#feeds").load("test1.php", {usr: $usr, pwd: $pwd}, function(){
alert("username and password send !");
});
1.jqueryObj.load()
load()方法通过ajax获取服务端数据,并将放回数据放置到jqueryObj对象下。
load(url,data,function(response,status,xhr)
我们也可以只获取返回数据的部分内容,例如:
$("#a").load("b.html","#c"):获取b.html中id为c的部分内容填充到id为a的元素下。
注意:load加载的内容中如果包含js,在js被填充到指定元素时就会编译一次。
2.%@include file="页面路径"%
这是jsp的指令操作,将指定路径的内容镶嵌到该指令所在的位置。这是一中静态加载的方式。
加载时机:在容器将jsp转化为servlet文件之前,先和原页面代码整合为一体再做解析。(翻译阶段)
注意:因为是将2个文档合成一个再解析,所以可能存在相同的头部,这将可能导致解析出错,所以引入文件的头部尽量去掉,以沿用原页面的头部内容。
3.jsp:include page="页面路径" flush="true"
这是一种行为操作,在请求页面时将指定路径的页面进行翻译和执行,并将执行结果放在该代码所在位置。
加载时机:在页面被请求时才会对引入的页面和原界面进行分别翻译和执行。即会翻译为2个servlet文件。他们是相对独立的,只有显示的时候才会将结果放在一起显示。(请求处理时执行)
注意:因为2个页面是相对独立的,所以需要独立处理,有可能存在2个页面的编码集不一致而导致的乱码。
jQuery 事件 - load() 方法
当指定的元素(及子元素)已加载时,会发生 load() 事件。
实例
当图像加载时,改变 div 元素的文本:
$("img").load(function(){
$("div").text("Image loaded");
});
append() 方法
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。
提示:append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容的位置和选择器。
实例
在每个 p 元素结尾插入内容:
$("button").click(function(){
$("p").append(" bHello world!/b");
});
应用实例
//更多文章
var url='/ajaxArchive.php?page=1';
$("#archivePlaceHold").load(url);
jQuery.load()只能替换掉元素中的内容。
jQuery.load()不能同时使用append,需要使用 jQuery.get()实现
var url='/ajaxArchive.php?page=1';
$.get(url, function(data){
$(data).appendTo("#archivePlaceHold");
});
原页面A.html:
html
headtitle/title/head
body
div id="container"/div
/body/html
被load的页面B.html:
html
headtitle/title/head
style.page-li {font-size:12px;color:blue}/style
body
div id="page"
ol class="page-li"
li234123/lili341234/lili41234/lili412de34/li
/ol
/div
/body/html
在原页面A.html中加载调用的jquery.load(),然后再在原页面对 page-li 的样式重新定义下就可以了:
添加了load(),css的原页面:
html
headtitle/title/head
style.page-li {font-size:12px;color:green}/style
body
div id="container"/div
script type="text/javascript"
$(function(){
$("#container").load("B.html #page",null,function(){alert("加载成功")});
});
/script
/body/html
如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。
注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。因此,使用load方法时尽量把load方法写在页面顶部。
调用load方法的完整格式是:load(
url,
[data],
[callback]
),
其中:
•url:是指要导入文件的地址。
•data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
•callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。
一:如何使用data
1.加载一个php文件,该php文件不含传递参数$("#myID").load("test.php");
//在id为#myID的元素里导入test.php运行后的结果2.
加载一个php文件,该php文件含有一个传递参数
$("#myID").load("test.php",{"name"
:
"Adam"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam3.
加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔
$("#myID").load("test.php",{"name"
:
"Adam"
,"site":"61dh.com"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adamsite=61dh.com4.
加载一个php文件,该php文件以数组作为传递参数
$("#myID").load("test.php",{'myinfo[]',
["Adam",
"61dh.com"]});
//导入的php文件含有一个数组传递参数。注意:使用load,这些参数是以POST的方式传递的,因此在test.php里,不能用GET来获取参数。
二:如何使用callback
比如我们要在load方法得到服务器响应后,慢慢地显示加载的内容,就可以使用callback函数。代码如下:
复制代码
代码如下:
$("#go").click(function(){
$("#myID").load("welcome.php",
{"lname"
:
"Cai",
"fname"
:
"Adam",
function(){
$("#myID").fadeIn('slow');}
);
});
备注:
在load的url里加上空格后面就可以跟选择器了。
例如:
复制代码
代码如下:
$("body").load("test.html
#a");