jQuery中add方法分析备忘

2010 年 07 月 31 日  |  上午 8:11分类:jQuery  |  标签:  |  3,396 views

(遍历 组合)

add(expr)在原对象的基础上在附加符合指定表达式的jquery对象

<p>Hello</p><p><span>Hello Again</span></p>

   var f=$(“p”).add(“span”);   

     for(var i=0;i < $(f).size();i++){

     alert($(f).eq(i).html());}

//遍历出:p , 包含span的p ,span ,(按出现顺序排列)

执行$(“p”)得到匹配<p>的对象,有两个,add(“span”)是在(“p”)的基础上加上匹配<span >的对象,所有一共有3个,从上面的函数运行结果可以看到$(“p”).add(“span”)是3个对象的集合,分别是[<p>Hello</p>],[<p><span>Hello Again</span></p>],[<span>Hello Again</span>]。

add(html):

var f=$(“p”).add(“<span>111</span>”);   

     for(var i=0;i < $(f).size();i++){

     alert($(f).eq(i).html());}

//遍历得到 p 和 html内容

add(elements):

add(el)  在匹配对象的基础上在附加指定的dom元素。
        $(“p”).add(document.getElementById(“a”));

add(els)  在匹配对象的基础上在附加指定的一组对象,els是一个数组

<p>Hello</p><p><span>Hello Again a</span><span>Hello Again b</span></p>

<p>p1<span>Hello Again bb</span></p>

jQuery代码及功能:

function jq(){
     var f=$(“p”).add([document.getElementById(“a”), document.getElementById(“b”)])
     for(var i=0;i < $(f).size();i++){
             alert($(f).eq(i).html());}
}

//遍历出:p , 包含id=a 和id=b的p,包含id=a 和id=b的p下面的元素,包含id=a 和id=b的p下面 id= b 的元素,(按出现顺序排列)(不会遍历出单独的id=a 或者id= b 的元素)

注意els是一个数组,这里的[ ]不能漏掉。

把与表达式匹配的元素添加到jQuery对象中。这个函数可以用于连接分别与两个表达式匹配的元素结果集。

jQuery 1.4 中, .add()方法返回的结果将始终以元素在HTML文档中出现的顺序来排序,而不再是简单的添加。


发表您的评论

您必须 登录 才能发表评论。