JQuery 获取表格中的数据

举个例子

  


var arr = $('#table tbody tr td:nth-child(2)') //根据id依次找到表格中的td,而后取每列的第二个值

.map(function () { return $(this).text() }) // 使用 map 对每一个 td 进行处理,function为回调函数,返回每个元素的text

.get(); // 将对象集合转换为数组,得到arr数组

另外还可以在后面.join(",") 这将转换成字符串。

 

jQuery下有个概念叫“类数组”,比如$( " li " ),当取到一个集合的时候,会有数组的一些属性,但是instancseof Array仍然是false。但是var a=$( "li" ).get()这样处理一下,然后instancseof Array就返回true。

要注意var a=$( "li" ).get(1)里头加序列号可以取到单个元素,这些元素的性质不是jQuery对象,而是Js对象,所以不可直接用jQuery方法。

    map()的功能主要有两步,第一步就是遍历,第二步就是替换。

    $( " li " ).map( function(  ){

    return  $(this).text(  );  // 注意return关键字不可少

} )

    map先遍历,每一项都返回一个text()值,然后map会将这些值自动去替换$("li")集合的每一项值,所以这个时候还是个类数组(因为还是$(" li ")的壳子),不是个真正的数组。于是后面加个get()操作就变成真正的数组了,于是可以用join()这样专属于数组的方法。 

    如:    

    $( " li " ).map( function(  ){

        return  $(this).text(  );   

    } ).get(  ).join("%")            // 拼接成字符串,中间用“%”隔开  

 


 

上述方法是用map()先封装成数组。也可以用each()。但要进行遍历判断的时候,就无需使用封装成数组再进行遍历。直接在回调函数里进行判断即可

 也可用each()方法

var arr = $('#table tbody tr td:nth-child(2)').map(function () { 
    if($(this).text() == selectValue){
        alert("already exists!");
        return false;
    } 
});

var arr = $('#table tbody tr td:nth-child(2)').each(function () { 
    if($(this).text() == selectValue){
        alert("already exists!");
        return false;
    } 
});

  

  


 

 

nth-child(2) 选取第几个标签,里面的数字可以是你想要的

nth-child(n+4) 选取大于等于4标签,“n”表示从整数

nth-child(-n+4)选取小于等于4标签

nth-child(2n)选取偶数标签,2n也可以是even

nth-child(2n-1)选取奇数标签,2n-1可以是odd

nth-child(3n+1)自定义选取标签,3n+1表示“隔二取一”

last-child选取最后一个标签,同first-child

nth-last-child(3)选取倒数第几个标签,3表示选取第3个

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值