$('<li></li>')和$('div').append($('.nav'))的问题。
1. $('<li></li>')
2. $('div').append($('.nav'))
这两个问题,第一个是不是动态创建了li元素后,再选中它,使它成为jquery对象。第二个问题,平常我们都是append('<ul></ul>') 之类的。现在是直接插入了一个jquery对象,就像append($('.nav'))。是不是append()方法会自动把jquery对象$('.nav')解析成html代码结构,例如'<ul class=".nav"></ul>',再插入的html代码中.
------解决方案--------------------1.$("<li></li>") 意思是创建一个li元素并返回其jquery对象,不是选中它哦,因为这样创建的元素还不在html结构中,只是在内存中存在的。
2. $('div').append($('.nav')) 不是自动解析.nav为html代码,是先获得页面上.nav的所有元素,然后将他们追加到前者内部,然后把之前的.nav给移除了。假设jQuery有outerHTML的方法的话,那$('div').append($('.nav')) 等价于:var nav=$('.nav'); var navOuterHTML=nav.outerHtml();$('div').append(navOuterHTML);nav.remove();