首页 > 其他分享 >jquery的$()

jquery的$()

时间:2023-05-05 17:35:30浏览次数:35  
标签:jquery function alert four call each 方法

jquery的$().each,$.each的区别

在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法。两个方法是有区别的,从而这两个方法在针对不同的操作上,显示了各自的特点。

$().each,对于这个方法,在dom处理上面用的较多。如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbook,例如:

$("input[name='ch']").each(function(i){
if($(this).attr('checked')==true)
{
//一些操作代码

}

回调函数是可以传递参数,i就为遍历的索引。

对于遍历一个数组,用$.each()来处理,简直爽到了极点。例如:

$.each([{"name":"limeng","email":"xfjylimeng"},{"name":"hehe","email":"xfjylimeng"},function(i,n)
{
alert(“索引:"+i,"对应值为:"+n.name);
});

参数i为遍历索引值,n为当前的遍历对象.

var arr1 = [ "one", "two", "three", "four", "five" ];
$.each(arr1, function(){
alert(this);
});
输出:one two three four five
var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
$.each(arr2, function(i, item){
alert(item[0]);
});
输出:1 4 7
var obj = { one:1, two:2, three:3, four:4, five:5 };
$.each(obj, function(key, val) {
alert(obj[key]);
});
输出:1 2 3 4 5

在jQuery里有一个each方法,用起来非常的爽,不用再像原来那样写for循环,jQuery源码里自己也有很多用到each方法。

其实jQuery里的each方法是通过js里的call方法来实现的。

下面简单介绍一下call方法。
call这个方法很奇妙,其实官方的说明是:“调用一个对象的一个方法,以另一个对象替换当前对象。”网上更多的解释是变换上下文环境,也有说是改变上下文this指针。
call([thisObj[,arg1[, arg2[, [,.argN]]]]])

参数
thisObj
可选项。将被用作当前对象的对象。
arg1, arg2, , argN
可选项。将被传递方法参数序列。

说明
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

引用网上有一个很经典的例子

Js代码
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方法的几种常用的用法

Js代码
var arr = [ "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

var obj = { one:1, two:2, three:3, four:4};
$.each(obj, function(key, val) {
alert(obj[key]);
});
//这个each就有更厉害了,能循环每一个属性
//输出结果为:1 2 3 4

标签:jquery,function,alert,four,call,each,方法
From: https://www.cnblogs.com/mengdie1978/p/17374822.html

相关文章

  • jquery获取input输入框中的值
    如何用javascript获取input输入框中的值HTML<inputtype="text"id="CSDN_NAME"name="CSDN_NAME"class="CSDN_NAME">一、jquery方法通过namevarname=$('input[name="CSDN_NAME"]').val();通过**id**varna......
  • JQuery 层级选择器(next(),preAll(),siblings(),parent())
    JQuery层级选择器(next(),preAll(),siblings(),parent()) $('#d1div') //取所有子元素,不管是几层。$('#d1>div') //取直接子元素,一层$('#d1+div') //之后紧邻的一个同级元素$('#d1~div') //之后的所有同级元素$('#d1').next() //后面的一个同级元素$('#d1&......
  • 基于jQuery的FlexiGrid的插件使用和改造
    已不推荐下载,如要下载去这个连接下载最新的http://gundumw100.iteye.com/admin/blogs/545610上面的2个链接是我参考的例子虽然Flexigrid已然算是优秀,但是问题还是有?比如:1:不支持在列首添加checkbox列2:如何给行附加事件(如右键快显菜单或双击)或者在最后列添加操作列(在列的定......
  • 【整理】jQuery知识点2
    ★★★=============================================================jQuery-获取内容和属性jQueryDOM操作jQuery中非常重要的部分,就是操作DOM的能力。jQuery提供一系列与DOM相关的方法,这使访问和操作元素和属性变得很容易。获得内容-......
  • jQuery轮播图(模仿滑动窗口算法)
    conststatus=["left:0px;","left:10px;","left:20px;","left:30px;","left:40px;",];constlist=$("#carousel>ul>li");constlen=lis......
  • double转为整型intValue()及sha1在线文件获取,文件都有一个唯一的sha1;jQuery事件方法;
    double转为整型intValue()及sha1在线文件获取,文件都有一个唯一的sha1Doubleindust=RankConstant.INIT_RADIO;indust.intValue()double由100.0---->100整型1.intValue()是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它。也就是说,不单是Integer有int......
  • 使用jquery探测移动设备 How to detect mobile devices using jQuery
     Helloeveryone,yesterdayIreceivedarequestfromtheclient.HewantedtodisablethepopupofNewsletterPopupextensionwhencustomersvisithiswebsiteonmobiledevices.ItgavemeachancetoworkwithjQueryagainandfinallyIcameupwitha......
  • jquery:临时禁止鼠标滚动 How to disable scrolling temporarily?
    1.代码://left:37,up:38,right:39,down:40,//spacebar:32,pageup:33,pagedown:34,end:35,home:36varkeys={37:1,38:1,39:1,40:1};functionpreventDefault(e){e=e||window.event;if(e.preventDefault)e.preventDefault()......
  • GMaps.js:让你快速集成 Google Maps 服务的 jQuery 插件
    GMaps.js功能除了添加指定经纬度的标准地图之外,GMaps.js还能定义地图放大的级别,添加标注,获取当前用户的地理位置(HTML5geolocation),定义路线,绘制折线,并且实现这些功能只需要简单的几行代码。另外GMaps.js每个动作都有callback函数让你去集成自定义事件。目前GMaps.js没有详......
  • jquery.liMarqee.js无缝滚动的使用问题
    引入jq、liMarquee.js和liMarquee.css文件<scriptsrc="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script><scriptsrc="./js/jquery.liMarquee.js"></script><linkrel="stylesheet&quo......