如何使用first()和last()来动态创建元素

时间:2014-04-05 00:00:25

标签: javascript jquery jquery-ui jquery-plugins

我有一个带有一些LI的UL。当我静态创建时,我可以使用first()和last()方法来获取第一个li,然后通过offset()或outerwidth()获得偏移量,但是当我动态创建它们时,我得到以下错误:

无法读取未定义的属性

这是我在里面创建我的ul和li的地方:

for (var entity in jsresult){


        //$(".entity"+temp).empty();
        //$(".entity"+temp).attr("id","entity"+jsresult[temp].id);
        $("#enbartop").append("<li  id='entity"+jsresult[temp].id+"' class='entities entity"+temp+" jquery-shadow jquery-shadow-lifted'>   <div class='main'><div class='entity_titlebar'><div id=\"entityTitle"+temp+"\"" +
                " class=\"entity_titlebar_title\">"+jsresult[temp].name+"</div><div id=\""+jsresult[temp].id+
                "\" class=\"entity_titlebar_data\">"+jsresult[temp].freq+"</div><div id=\"entityTitleBar"+jsresult[temp].id+"\" class=\"entity_titlebar_toggle\"></div></div><div id=\"entcon"
                +temp+"\" class=\"entity_content\"><div id=\"en_logo"+jsresult[temp].id+
                "\" class=\"en_logo\"><img src=\"images/entities/"+jsresult[temp].id+"\"></img></div><div id=\"en_bars\" title=\"en_bars"+
                temp+"\" > <div class=\"en_bar"+jsresult[temp].id+"_1\"></div><div class=\"en_bar"+
                jsresult[temp].id+"_2\"></div><div class=\"en_bar"+jsresult[temp].id+"_3\"></div><div class=\"en_bar"+jsresult[temp].id+"_4\"></div></div></div></div></li>");


        temp++;





    }

这里是我使用first()和last的地方:

firstEntity = $(".entities").first();
lastEntity = $(".entities").last();
entityWidth = firstEntity.outerWidth();

另外值得注意的是#enbartop是我的UL。

有人可以帮忙吗?

0 个答案:

没有答案