JQuery html()方法使用一些误区。

最近我在处理一个比较复杂的DOM控制的业务的时候发现html()这个方法的一些领我有些不解的地方。html

1.html() 获取的是第一个匹配的元素的内容,不包括它本身。app


2.若是须要获取包括元素本身自己的html的话,请使用prop("outerHTML"),如:dom

$("div").prop("outerHTML"); //这个的返回值会包含div本身自己以及之内的全部html代码。htm


3.假如你使用了一个很复杂的DOM操做,例如使用了clone(),find(),之类的操做,你会发现,当你想修改这些标签内的内容时对象

如:文档

$(dom).clone().find(children).html("<p>hello world</p>");方法

通过本人试验,结果会把children中的内容清空,假如children是<div><p>haha</p></div>,那么就会变成di

<div></div>。
标签


第三点有待论证,欢迎大神过来指导下,为何会出现这种状况,目前我只能用文本重组里面的内容,却不能经过html(),append()...等文档操做来重组内容。是否是由于克隆后,就不是文档的一部分了,因此这些文档操做对该dom对象所有都无效了?抱歉,我只能这么想了......
大神

相关文章
相关标签/搜索