通过其css类检索一个元素的id

时间:2013-04-07 14:37:46

标签: jquery css

我有一些具有相同CSS类的元素

我想知道如何检索其中一个的ID;比如第一个那个班级

这是我目前的代码,但它无效

$('.imageofarticle').mousemove(function(){
  var a = $(this).attr('id');
  var tableau = a.split(":");
  alert("get the first : "+$('.showmovingEdit').[0].attr('id'));
  // $('.showmovingEdit')[tableau[1]].show();
});

3 个答案:

答案 0 :(得分:3)

您的代码在语法上是错误的,因为选择第一个元素可以使用first方法:

// Return the first element in jQuery collection
$('.showmovingEdit').first().attr('id');

要选择其他元素,您可以使用eq方法:

// Return an element based on it's index in jQuery collection
$('.showmovingEdit').eq(index).attr('id');

请注意,当使用[index]正确)时,它会返回没有attr方法的DOM Element对象,您应该使用id财产改为:

// Select the first DOM element in the set and return it's ID property
var id = $('.showmovingEdit')[0].id;

答案 1 :(得分:1)

您有额外dot并在DOM对象上调用attr而不是直接访问id

更改

$('.showmovingEdit').[0].attr('id')
                    ^ 

$('.showmovingEdit')[0].id

或使用get()

$('.showmovingEdit').get(0).id

或使用eq()

$('.showmovingEdit').eq(0).attr("id");

修改

  

每个jQuery对象也伪装成一个数组,所以我们可以使用   数组取消引用运算符来获取列表项:Reference

alert($('selector')[0]); //gives first element returned by selector.

答案 2 :(得分:1)

请使用:

$('.showmovingEdit').attr('id')

另外,请参考许多其他帖子:您不需要first()。如果在没有参数的情况下调用,attr()将自动获取第一个元素。