七、has|each|map

/*
 * 通过map可以有效的将某个包装集中的元素转换为数组
 */
var ps = $("tbody td:nth-child(1)").map(function(){
    var n = $(this).next("td");
    var p = {"id":$(this).html(),"name":n.html()};
    return p;
}).get();

for(var i=0;i<ps.length;i++) {
    alert(ps[i].name);
}

 

$(function() {
    //获取存在有ul的li,返回的是新包装集
    $("li").has("ul").css("color","#f00");
   
    $("div").has("span").css("color","#f00");
});

 

$(function() {
    var ns = $("tbody td:nth-child(2)");
    /**
     * 使用以下方法进行遍历基本上是基于js进行操作
     * 对于jquery有自己的一套遍历方法,可以直接通过
     * each函数进行遍历
     */
    /*for(var i=0;i<ns.length;i++) {
        var nn = ns[i];//nn已经是js的节点
        var id = $(ns[i]).prev("td").html();
        var age = $(ns[i]).next("td").html();
        nn.innerHTML = id+">>"+nn.innerHTML+"("+age+")";
    }*/
   
    /**
     * 对于JQuery而言,可以用each遍历所有的数组对象
     * each中的匿名函数n表示的是数组的下标,从0开始
     */
    ns.each(function(n){
        $(this).html($(this).prev("td").html()+
            "."+$(this).html()+
            "("+$(this).next("td").html()+")");   
    });
});

你可能感兴趣的:(each)