可以'无法从列表项中获取id

Can't get id from list item

本文关键字:列表 获取 id 可以      更新时间:2023-09-26

我试图从列表项的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);
    }
});

问题是因为get(0)返回的是DOMElement,而不是jQuery对象,并且DOMElement没有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');

试试这个:在jQuery中包装fistindex,因为$("li.imagethumbs").get(0);将返回javascript对象,并且您需要jQuery对象来调用attr()方法

var id = $(firstindex).attr('id');

    var $firstindex = $("li.imagethumbs:first");
    var id = $firstindex.attr('id');