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
);
});