从对象集合中拉出css值

时间:2015-10-20 05:23:25

标签: jquery

我试图收集一些对象(在我的情况下是复选框),然后从中获取css类。

到目前为止,我可以获得这样的对象集合     $(':检查&#39)

如果我打电话

$(':checked').first().attr('class')

返回类似

的内容
"my-class"

我想对这个对象的集合做这个,但是当我尝试这样的东西时,我回来的只是一个空数组。

var classes = $(':checked').map(function(obj) {
  $(obj).attr('class')
})

2 个答案:

答案 0 :(得分:1)

您需要在 map() 回调函数中返回值并使用 get() toArray() for get result as a array。

更新:另外在回调函数中,第一个参数是指索引而不是dom对象。因此,您需要使用this或第二个参数。

var classes = checked.map(function() {
  return $(this).attr('class');
  //-^--
}).get();

var classes = $(':checked').map(function(i,obj) {
  //                                   --^--
  return $(obj).attr('class')
}).get()

答案 1 :(得分:0)

# id first # 1: 1 3 # 2: 2 2 # 3: 5 3 处理程序中进行少量更改,如下所示:

我为您创建了一个示例代码段。

click
$(document).ready(function(){
  $(".btn").click(function(){
      var checked = $(":checked");
      var classes = checked.map(function(obj) {
        return $(this).attr('class'); // refers to each checked element
      }).get(); // returns an array of the above map

    console.log(classes);  
  });
});