1 jQuery是一个javascript函数库,报以下特性
HTML元素选取HTML元素操作CSS操作
HtmL事件函数javascript特效和动画HtML dom遍历和修改
Ajax utilities
2 添加jQuery库
,必须位于head标签中
3 下载jquery
在https://www.wendangku.net/doc/de7723741.html, 下载jquery-1.7.2.min.js
在代码中加入这个
或者直接引用
使用Google 的CDN
使用Microsoft 的CDN
使用语法
jQuery 元素选择器
$(this).hide() 隐藏当前的HTML元素
$("#test").hide() 隐藏id="test"的元素$("p").hide(); 隐藏所有的
元素
$(".test").hide(); 隐藏所有class="test"的元素$("p.test")隐藏所有class="test"的段落
JQuery属性选择器
$("[href]") 选取所有带有href属性的元素$("[href='#']") 选取所有带有href='#'的元素$("[href!='#']") 选取所有带有href!='#'的元素$("[href$='jsp']") 选取所有带有href值以'jsp'结尾的元素jQuerycss选择器
$("p").css("background-color"."red");
其他的选择器
$(this) 当前html元素
$("ul li:first") 每个
$("div#intro .head") id="intro" 的
文档就绪函数
$(document).ready(function(){}); 这是为了防止文档在完全加载之前运行jQuery代码
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如jq)
来代替$ 符号
Jquery效果
通过hide()和show() 两个函数,jQuery支持对HTML元素的隐藏与显示
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
该元素有两个参数speed ,callback
Speed 规定显示和隐藏的速度可以设置
Slow fast normal
Callback 在hide或show函数完成之后被执行的函数名称
jQuery 切换
Toggle(speed ,callback)用来切换HTML元素的可见状态JQuery滑动函数-slideDown,slideUp,slideToggle
这些函数必须和css连在一起用比如
点击
Div .panel{
Display:none;
}
$(".flip").click(function(){
$(".panel").slideDown('slow");
});
JQuery Fade函数fadeIn() fadeOut() fadeTo()
前者淡入后两者淡出
jQuery自定义动画
$().animate({left:"100px"},)
Callback使用方法:
$("p").hide(1000,function(){
Alert("The paragraph is now hidden");
});
JQuery 操作Html
$().html() 相当于调用innerHTML
$("p").html("W3School");
$().append(content) 想所匹配的html内部追加内容,不空行放
After() 空行放到后面
Before 空行放到前面
$().css(name,value)
$().css({properties})
$().css(name)
jQuery 设置尺寸
$().height(value)
$().width(value)
JQuery操作Ajax
$().load('/query.test1.txt',[data,callback])导入文本$.get(url,data,callback,type)
$.post(url,data,callback,type)
$.getJSON(url,data,callback)
$.getScript(url,callback);
补漏:
:last 该元素的最后一个
:even 该元素的偶数个
:odd 该元素的奇数个
Ul li:eq(index) ul 的第index个li
Ul li:gt(index) ul 的第index三个以后所有的li
:Lt(idnex)
input :not(:empty) 所有不为空的input元素$(":header") 所有标题元素
$(":animated") 所有动画元素
$(":contains(''W3School)") 包含指定字符串的所有元素$(":hidden")所有隐藏的元素
$(":text") 所有type="text"的input元素
$(":password") 所有type="password"
$(":radio") $(":checkbox") $(":submit") $(":reset") $(":button") $(":image") $(":file")
$(":enabled") $(":disabled") $(":selected")
$(":checked")
jQuery 能做的事情:
取得页面中的元素
修改页面的外观
改变页面的内容
响应用户的页面操作
为页面增加动态效果
无须刷新页面即可获得信息
采取的策略:
利用Css的优势
支持扩展采用插件形式
抽象浏览器不一致性
总是面向集合
将多重操作集于一行
3具体实例
.addClass("emphasized") 其中emphasiezd是css样式表中的类选择器与此相反的是removeclass();
该函数必须满足$('类选择器').addClass('类选择器名(即不需要前面的那个点)')
4$() 能够消除使用for循环访问一组元素的需求
5 $('#a >li') 等价于查找ID为selected-plays的元素的子元素中所有的列表项
自定义选择符就是采用上面的addClass 通过和css联合一起使用来改变显示效果
$('tr:odd').addClass('odd'); 等价于$('tr').filter('odd').addClass('odd');
$('tr:even').addClass('even');
$('tr:contains("2")').addClass('high');
Dom操作
Parent ()取一个普通的父元素,即最靠近的一个父元素Next()取最接近的下一个同辈元素
取得包含henry的单元格,然后取得该单元格的所有同辈元素$('td:contains("henry")').siblings().addClass();
取得包含henry的单元格,再取得他的父元素,然后找到该元素中包含的所有编号大于0的单元格
$('td:contains("henry")').parent().find('td:gt(0)').addCla ss();
取得包含Henry的单元格,再取得他的父元素,找到该元素中包含的所有单元格,然后过滤这些单元格排除包含henry的那个
$('td:contains("henry")').parent().find('td').not(':contai ns("henry")').addClass();
使用如下方法可以获得指定的元素
var myTag=$('th').get(0).tagName;
alert(myTag);
如果ID中包括了时间或冒号必须要使用转义字符\\
比如myID.div[1] --》myID\\.div\\[1\\]
对于类选择器如果一个元素还有多个类,必须都匹配才行比如class="myclass" class="myclass,otherclass"
匹配第二个时必须是$(myclass,otherclass) 如果是${myclass} 则两个都匹配
如果要匹配多个类选择器,使用逗号隔开
选择器>直接子元素
prev+next 匹配所有紧接在prev元素后的next元素
Prev~sibling 匹配所有紧接在prev元素后的同辈元素
Html() 获得dom对象的内容
$("
将前者添加到后者中
Window.onload 和$(document).ready();区别
后者在页面框架下载完毕后执行
前者必须在页面全部加载后才能完成
执行数量不同:
后者可以重复写多个,并且每次执行结果不同。而前者尽管可以执行多个,但仅输出最后一个执行结果$(document).read(function(){})可以简写成
$(function(){})
经典例题:
content="text/html; charset=gb2312">
$(function(){
$(".divTitle").click(function(){
$(this).addClass("divCurrColor").next(".divContent").cs s("display","block");
var tDiv=$(".divTitle");
var cDiv=tDiv.html();
var d=$(".d");
d.html(cDiv);
});
$("#Button1").click(
function(){
var oTxtValue=$("#Text1").val();
var oRdoValue=$("#Radio1").is(":checked")?"男":"女";
var oChkValue=$("#Checkbox1").is(":checked")?"已婚":"未婚";
$("#divTip").css("display","block").html(oTxtValue+"
"
+oRdoValue+"
"+oChkValue);
}
);
$("#divTip").click(function(){
$(this).toggle("flow");
});
$(".divDefault").click(function(){
$(this).toggleClass("divClick").html("点击后的样式");
});
});
.divFrame{
width:260px;
border:1px solid #666;
font-size:10px;
}
.divTitle{
background-color:#eee;
padding:5px;
}
padding:5px;
display:none;
}
.divTip{
width:244px;
border:1px solid #666; padding:8px;
font-size:9pt;
marign-top:5px; display:none;
}
.txtCss{
border:1px solid #ccc;
}
.divBtn{
padding-top:5px;
}
.divBtn .btnCss{
border:1px solid #535353; width:60px;
}
width:260px;
font-size:10pt;
padding:5px;
}
.divClick{
width:260px;
border:1px solid #666;
}
姓名:
性别:男
type="radio" value="女">女
婚否:
div span ,Div>span , div+span ,div~span div.siblings 的区别
我是这样理解的
第一个是指div中所有的span元素(全部儿子,孙子)第二个是指div中所有的子span元素(全部儿子)
第三个是指div后面的相邻的span元素(span邻居)第四个是指div后面的所有span元素(后邻,后邻儿子孙子)
第五个是值div的所有(前面也算)相邻的span元素(邻居)
Has(元素):显示含有span元素的元素
$(div:parent)显示憨厚子元素或文本的元素
实例2 导航
$(function(){
$(".clsHead").click(function(){
if($(".clsContent").is(":visible")){
$(".clsHead span img").attr("src","images/2.jpg");
$(".clsContent").css("display","none");
$(".clsHead span img")
.attr("src","images/0001.gif");
$(".clsContent").css("display","block");
}
});
$(".clsBot >a").click(function(){
if($(".clsBot>a").text()=="简化"){
$("ul li:gt(4):not(:last)").hide();
$(".clsBot>a").text("更多");
}else{
$("ul
li:gt(4):not(:last)").show().addClass("GetFocus");
$(".clsBot>a").text("简化");
}
});
});
font-size:13px;
}
#divFrame{
border:1px solid #666; width:301px;
overflow:hidden;
}
#divFrame .clsHead{ background-color:#eee; padding:8px;
height:18px;
cursor:hand;
}
#divFrame .clsHead h3{ padding:0px;
margin:0px;
float:left;
}
#divFrame .clsHead span{ float:right;
margin-top:3px;
}
#divFrame .clsContent{ padding:8px;
}
#divFrame .clsContent ul{ list-style-type:none; margin:0px;
padding:8px;
}
#divFrame .clsContent ul li{ float:left;
width:95px;
height:23px;
line-height:23px;
}
#divFrame .clsBot{
float:right;
padding-top:5px;
}
.GetFocus{
background-color:#eee;
}
Html() text(),val()
Val() 可以用在表单多选择框时获得值(multiple);$("select").change(function(){
var strSel=$("select").val().join(",");
$("#content").html(strSel);
})
})
Jquery中[] 其中数组{元素名:元素值}代表对象
原文地址:js和jquery获取父级元素、子级元素、兄弟元素的方法作者:草根gis 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 原生的JS获取ID为test的元素下的子元素。可以用: var a = docuemnt.getElementById("test").getElementsByTagName_r("div"); 这样是没有问题的 此时a.length=2; 但是如果我们换另一种方法 var b =document.getElementByIdx_x("test").childNodes; 此时b.length 在IE浏览器中没问题,其依旧等于2,但是在FF浏览器中则会使4,是因为FF把换行也当做一个元素了。 所以,在此,我们就要做处理了,需遍历这些元素,把元素类型为空格而且是文本都删除。 functiondel_ff(elem){ varelem_child = elem.childNodes; for(vari=0; i< p=""> if(elem_child[i].nodeName == "#text" && !/s/.test(elem_child.nodeValue)) {elem.removeChild(elem_child)
} } } 上述函数遍历子元素,当元素里面有节点类型是文本并且文本类型节点的节点值是空的。就把他删除。 nodeNames可以得到一个节点的节点类型,/s/是非空字符在JS里的正则表达式。前面加!,则表示是空字符 test() 方法用于检测一个字符串是否匹配某个模式.语法是:RegExpObject.test(string) 如果字符串string 中含有与RegExpObject 匹配的文本,则返回true,否则返回false。 nodeValue表示得到这个节点里的值。 removeChild则是删除元素的子元素。 之后,在调用子,父,兄,这些属性之前,调用上面的函数把空格清理一下就可以了 下面介绍JQUERY的父,子,兄弟节点查找方法 jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class") jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素
1.以下关于jQuery的描述错误的是()。(选一项) A、jQuery 是一个 JavaScript 函数库 B、jQuery 极大地简化了 JavaScript 编程 C、jQuery 的宗旨是“write less,do more” D、jQuery的核心功能不是根据选择器查找HTML元素,然后对这些元素执行相应的操作 2.在jQuery中,下列关于文档就绪函数的写法错误的是()。(选一项) A、$(document).ready(function() { }); B、$(function() { }); C、$(document)(function() { }); D、$().ready(function() { }); 3.以下()选项不能够正确地得到这个标签:(选一项) A、$("#btnGo") B、$(".btnGo") C、$(".btn") D、$("input[type='button']") 4.在HTML页面中有如下结构的代码:
jquery对象访问。 Jq对象(dom对象集合)的Eq方法和jq选择器返回的都是是jquery对象,只能使用jquery 方法;Jq对象(dom集合)的get方法和“jq对象[i]”返回的是dom元素对象,只能使用dom方法。 Jq对象的find(selector |obj|ele)和children用来查找子对象和后代对象 Jq对象的find方法用于查找当前jq对象(dom集合)的后代对象,Jq对象的children方法用于查找当前jq对象(dom集合)的子对象对象。这两个方法都只能使用jq对象(dom对象集合)来调用,并且他们返回的也是jq对象。 Jq手册中的api方法都是js对象(dom集合)对象或者$对象的方法。只能使用jq对象(dom 集合)或者$来调用。如each,attr、val,find,children等等 Jq对象的index方法搜索当前集合中的匹配的元素,并返回相应元素的索引值,从0开始计数 如果不给index方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。 如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。 如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。 Jq选择器 1、个基本选择器: 基本选择器可以拼接一起来选择某组元素,原则: 对同一个元素描述的多个基本选择器中间没有任何间隔。 如div[name=aa]表示name属性等于aa的div元素(元素名选择器div和属性选择器[name=aa]中间没有任何间隔)。 div.cval表示class值等于cval的div元素,表示class值等于cval是div元素(类选择器.cval 和元素名选择器div之间同样没有任何间隔) #id值 .class值 元素名 //属性 [attr]具有aaa属性
jQuery常用功能大全 1、关于页面元素的引用 通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery 对象(集合对象),不能直接调用dom定义的方法。 2、jQuery对象与dom对象的转换 只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。 普通的dom对象一般可以通过$()转换成jquery对象。 如:$(document.getElementByIdx_x("msg"))则为jquery对象,可以使用jquery的方法。 由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。 如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。 以下几种写法都是正确的: $("#msg").html(); $("#msg")[0].innerHTML; $("#msg").eq(0)[0].innerHTML; $("#msg").get(0).innerHTML; 3、如何获取jQuery集合的某一项 对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery 对象,而get(n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。 url (String) : 请求的HTML页的URL地址。 data (Map) : (可选参数) 发送至服务器的key/value 数据。 callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。 这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。语法形如"url #some > selector"。 这个方法可以很方便的动态加载一些HTML文件,例如表单。 示例代码: $(".ajax.load").load("[url]https://www.wendangku.net/doc/de7723741.html,/QLeelulu/archive/2008/03/30/1130270.html[/url] .post", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); 这里将显示结果。 注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。 2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data (Map) : (可选) 要发送给服务器的数据,以Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。 callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。 这是一个简单的GET 请求功能以取代复杂$.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用$.ajax。示例代码: $.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){ //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等. this; // 在这里this指向的是Ajax请求的选项配置信息,请参考下图
1、获取单个checkbox选中项(三种写法) $("input:checkbox:checked").val() 或者 $("input:[type='checkbox']:checked").val(); 或者 $("input:[name='ck']:checked").val(); 2、获取多个checkbox选中项 $('input:checkbox').each(function() { if ($(this).attr('checked') ==true) { alert($(this).val()); } }); 3、设置第一个checkbox 为选中值 $('input:checkbox:first').attr("checked",'checked'); 或者 $('input:checkbox').eq(0).attr("checked",'true'); 4、设置最后一个checkbox为选中值 $('input:radio:last').attr('checked', 'checked'); 或者 $('input:radio:last').attr('checked', 'true'); 5、根据索引值设置任意一个checkbox为选中值 $('input:checkbox).eq(索引值).attr('checked', 'true');索引值=0,1,2.... 或者 $('input:radio').slice(1,2).attr('checked', 'true'); 6、选中多个checkbox同时选中第1个和第2个的checkbox $('input:radio').slice(0,2).attr('checked','true'); 7、根据Value值设置checkbox为选中值 $("input:checkbox[value='1']").attr('checked','true'); 8、删除Value=1的checkbox $("input:checkbox[value='1']").remove(); 9、删除第几个checkbox $("input:checkbox").eq(索引值).remove();索引值=0,1,2.... 如删除第3个checkbox: $("input:checkbox").eq(2).remove(); 10、遍历checkbox $('input:checkbox').each(function (index, domEle) {
window.onload $(document).ready() 执 行时机必须等待网页中所有的内容加载完毕后(包括 图片)才能执行 网页中所有DOM结构绘制完毕后就 执行,可能DOM元素关联的东西并 没有加载完 编写个数不能同时编写多个,以下代码无法正确执行: window.onload =function({alert("test1");}window.onload = function(){alert("test2");}结果只会输出 "test2" 能同时编写多个 简 化写法无 $(document).ready(function(){}); 可以简写成$(function(){}); 一、选择网页元素 jQuery的基本设计和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。这是它区别于其他函数库的根本特点。 使用jQuery的第一步,往往就是将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素。 选择表达式可以是CSS选择器: $(document)//选择整个文档对象 $('#myId')//选择ID为myId的网页元素 $('div.myClass')//选择class为myClass的div元素 $('input[name=first]')//选择name属性等于first的input元素 也可以是jQuery特有的表达式: $('a:first')//选择网页中第一个a元素 $('tr:odd')//选择表格的奇数行 $('#myForm :input')//选择表单中的input元素 $('div:visible') //选择可见的div元素 $('div:gt(2)')//选择所有的div元素,除了前三个 $('div:animated')//选择当前处于动画状态的div元素
Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select 选择的Text 3. var checkValue=$("#select_id").val(); //获取Select选择的Value 4. var checkIndex=$("#select_id ").get(0).selectedIndex; //获取Select选择的索引值 5. var maxIndex=$("#select_id option:last").attr("index"); //获取Select最大的索引值 jQuery设置Select选择的 Text和Value: 语法解释: 1. $("#select_id ").get(0).selectedIndex=1; //设置Select索引值为1的项选中 2. $("#select_id ").val(4); // 设置Select的Value值为4的项选中 3. $("#select_id option[text='jQuery']").attr("selected", true); //设置Select 的Text值为jQuery的项选中 jQuery添加/删除Select的Option项: 语法解释: 1. $("#select_id").append(""); //为Select追加一个Option(下拉项) 2. $("#select_id").prepend(""); //为Select插入一个Option(第一个位置) 3. $("#select_id option:last").remove(); //删除Select中索引值最大Option(最后一个) 4. $("#select_id option[index='0']").remove(); //删除Select中索引值为0的Option(第一个) 5. $("#select_id option[value='3']").remove(); //删除Select中Value='3'的Option 5. $("#select_id option[text='4']").remove(); //删除Select中Text='4'的Option https://www.wendangku.net/doc/de7723741.html, jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关 获取一组radio被选中项的值 var item = $('input[@name=items][@checked]').val(); 获取select被选中项的文本 var item = $("select[@name=items] option[@selected]").text(); select下拉框的第二个元素为当前选中值 $('#select_id')[0].selectedIndex = 1; radio单选组的第二个元素为当前选中值 $('input[@name=items]').get(1).checked = true; 获取值:
Jquery优势介绍 1、轻量级 JQuery非常轻巧,采用Dean Edwards编写的Packer压缩后,大小不到30KB,如果使用Min版并且在服务器端启用Gzip压缩后,大小只有18KB。 2、强大的选择器 JQuery允许开发者使用从CSS1到CSS3几乎所有的选择器,以及JQuery独创的高级而且复杂的选择器,另外还可以加入插件使其支持XPath选择器,甚至开发者可以编写属于自己的选择器。由于JQuery支持选择器这一特性,因此有一定CSS经验的开发人员可以很容易的切入到JQuery的学习中来。 3、出色的DOM操作的封装 JQuery封装了大量常用的DOM操作,使开发者在编写DOM操作相关程序的时候能够得心应手。JQuery轻松地完成各种原本非常复杂的操作,让JavaScript新手也能写出出色的程序。 4、可靠的事件处理机制 JQuery的事件处理机制吸收了JavaScript专家Dean Edwards编写的事件处理函数的精华,是的JQuery在处理事件绑定的时候相当可靠。在预留退路、循序渐进以及非入侵式编程思想方面,JQuery也做得非常不错。 5、完善的Ajax JQuery将所有的Ajax操作封装到一个函数$.ajax()里,使得开发者处理Ajax的时候能够专心处理业务逻辑而无需关心复杂的浏览器兼容性和XMLHttpRequest对象的创建和使用的问题。 6、不污染顶级变量 JQuery只建立一个名为JQuery的对象,其所有的函数方法都在这个对象之下。其别名$也可以随时交流控制权,绝对不会污染其他的对象。该特性是JQuery可以与其他JavaScript库共存,在项目中放心地引用而不需要考虑到后期的冲突。
Jquery中使用each和call each的使用方法 在jQuery里有一个each方法,用起来非常的爽,不用再像原来那样写for循环,jQuery 源码里自己也有很多用到each方法。 其实jQuery里的each方法是通过js里的call方法来实现的。 Call的使用方法。 call这个方法很奇妙,其实官方的说明是:“调用一个对象的一个方法,以另一个对象替换当前对象。”网上更多的解释是变换上下文环境,也有说是改变上下文this指针。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, ,argN 可选项。将被传递方法参数序列。 说明 call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 引用网上有一个很经典的例子 复制代码 function add(a,b) { alert(a+b); } function sub(a,b) { alert(a-b); } add.call(sub,3,1); 复制代码 用 add 来替换 sub,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(4);
注意:js 中的函数其实是对象,函数名是对 Function 对象的引用。具体call更深入的就不在这里提了。 下面提一下jQuery的each方法的几种常用的用法 复制代码 vararr = [ "one", "two", "three", "four"]; $.each(arr, function(){ alert(this); }); //上面这个each输出的结果分别为:one,two,three,four var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]] $.each(arr1, function(i, item){ alert(item[0]); }); //其实arr1为一个二维数组,item相当于取每一个一维数组, //item[0]相对于取每一个一维数组里的第一个值 //所以上面这个each输出分别为:1 4 7 varobj = { one:1, two:2, three:3, four:4}; $.each(obj, function(i) { alert(obj[i]); }); //这个each就有更厉害了,能循环每一个属性 //输出结果为:1 2 3 4