我有一些具有相同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();
});
答案 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()
将自动获取第一个元素。