1

我有一些具有相同 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();
});
4

3 回答 3

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;
于 2013-04-07T14:39:33.643 回答
1

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

改变

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

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

或使用get()

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

或使用eq()

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

编辑

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

alert($('selector')[0]); //gives first element returned by selector.
于 2013-04-07T14:40:14.040 回答
1

只需使用这个:

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

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

于 2013-04-07T14:40:39.130 回答