我正在尝试从列表项中提取id
属性的值,但是javascript运行时抛出错误attr is not supported
。我在这里缺少什么?
获取列表中的第一个列表项,然后尝试从中获取id
。
$("#sortable").sortable({
start: function(event, ui) {
var firstindex = $("li.imagethumbs").get(0);
//console.log(firstindex);
var id = firstindex.attr('id'); //error is thrown here
$(ui.item).data("startindex", ui.item.index());
// $(ui.item).data("firstindexid", id);
},
stop: function(event, ui) {
self.sendUpdatedIndex(ui.item);
}
});
答案 0 :(得分:3)
问题是因为get(0)
返回DOMElement而不是jQuery对象,而DOMElements没有attr()
方法。
相反,您可以访问DOMElement的id
属性:
var item = $("li.imagethumbs").get(0);
var id = item.id;
或者使用jQuery,如果要检索集合中的第一个元素,请使用first()
;
var $firstLi = $("li.imagethumbs").first();
var id = $firstLi.attr('id');
答案 1 :(得分:-1)
试试这个:在jQuery中包装fistindex,因为$("li.imagethumbs").get(0);
将返回javascript对象,你需要jQuery对象来调用attr()
方法
var id = $(firstindex).attr('id');
或
var $firstindex = $("li.imagethumbs:first");
var id = $firstindex.attr('id');