【jquery】find,方法和each

find()方法

jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素。

比如:

 $("#id")
 $("#"+"id")
 $(this)
 $(element)

等等,只要灵活运用,就能爆发出强大的可造型。

但是在实际使用中,仍然觉得有些不足。

如果想要在某个元素下寻找特定的元素,仅仅依靠上面这个方法,就必须对 $("#id")获取的元素进行遍历,获取其子元素。如此一来就显得格外的繁琐,代码量也非常庞大。

于是这就需要用到find()方法。

$("#id").find("#child");
$("#id").find(".child");
$("#id").find("input[type='image']");

非常方便好用。

除了上面的find()方法之外,还有一种查找子元素的方法。

$(".child",parent);

这种方法与find()方法的结果是一样的,也更加简洁。

我们举个例子:

function(table){
      $("tr",table).  css("background-color","red");
}

这种方法,方便代码的重用,更符合闭包的写法。

each()方法

有的时候经常会用到数组。在不知道each()方法前,如果碰到数组遍历,我一般都是这么写的:

var arr = new Array();
arr.push(1);
arr.push(2);
arr.push(3);
for(var i =0;i<arr.length;i++)
{
      (function(m){
            console.log(this);
      })(i);
}

多么繁琐啊!!现在又了each(),生活从此变轻松。  

上面的这段代码,只要一句话。

var arr = new Array();
arr.push(1);
arr.push(2);
arr.push(3);

arr.each(function(){
   console.log(this);
});

使用each之后,结构立马变得简洁优雅起来。

关于each()的源代码,可以参照这个:

http://www.cnblogs.com/Fooo/archive/2011/01/11/1932900.html