无法从列表项中获取id

时间:2015-03-20 07:56:46

标签: javascript jquery jquery-ui-sortable

我正在尝试从列表项中提取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);
    }
});

2 个答案:

答案 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');