-
de查看全部
-
before() this.parentNode.insertBefore( elem, this ); append() target.appendChild( elem ); prepend() target.insertBefore( elem, target.firstChild );查看全部
-
append、appendTo prepend、prependTo before、insertBefore after、insertAfter replaceWith、replaceAll查看全部
-
.text() 方法不能使用在 input 元素或 scripts 元素上。 input 或 textarea 需要使用 .val() 方法获取或设置文本值。得到scripts元素的值,使用.html()方法查看全部
-
我们参考右边的代码,整个流程如下: 分解类型,jQuery对象,节点对象,文本,字符串,脚本 引入nodes收集各种分解的类型数据 针对html节点,兼容IE的处理,先过滤空白,然后补全tr,td等 创建文档碎片的div包含节点,把html结构给innerHTML进去 取出创建的节点,jQuery.merge(nodes, tmp.childNodes),因为靠div包装过查看全部
-
我们只需要把不同类型的参数分解后,压入到文档碎片就可以了,当然因为类型的不同处理的方式也有不同。查看全部
-
createElement创建的元素可以重复操作,添加之后就算从文档里面移除依旧归文档所有,可以继续操作,但是createDocumentFragment创建的元素是一次性的,添加之后再就不能操作了,查看全部
-
不过它有一种特殊的行为,该行为使得它非常有用: 即当请求把一个 DocumentFragment 节点插入文档树时,插入的不是 DocumentFragment 自身,而是它的所有子孙节点。这使得 DocumentFragment 成了有用的占位符,暂时存放那些一次插入文档的节点。它还有利于实现文档的剪切、复制和粘贴操作,尤其是与 Range 接口一起使用时更是如此。查看全部
-
DocumentFragment节点具有下列特征: 1. nodeType的值为11 2. nodeName的值为“#document-fragment” 3. nodeValue的值为 null 4. parentNode的值为 null 5. 子节点可以是 Element、ProcessingInstruction、Comment、Text、CDATASection 或 EntityReference查看全部
-
首先无作用域的问题,通过文档碎片创建一个div的包含容器,让所有的元素都被div元素给包含起来,包括script,style等无作用域的元素,很好的解决了 针对不支持innerHTML属性的元素,给单独提出来,通过正则抽出来这个节点名字去处理查看全部
-
innerHTML兼容性问题 IE会对用户字符串进行trimLeft操作,用户可能的本意就是需要空白 IE8有些元素innerHTML是只读 IE会忽略开头的无作用域元素 大多情况下不执行script脚本,当然如果支持defer的IE9之前的浏览器除外 一些标签不能作为div的子元素,如tr,tb, col等查看全部
-
这个任务就交给了domManip,除此之外domManip在设计上需要做的处理: 1:解析参数,字符串,函数,对象 2:针对大数据引入文档碎片处理 3:如果参数中包含script的处理查看全部
-
defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。查看全部
-
其中append方法: append: function() { return this.domManip(arguments, function(elem) { if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { var target = manipulationTarget(this, elem); target.appendChild(elem); } }); }查看全部
-
IE下面innerHTML会忽略没作用域元素,no-scope element(script,link,style,meta,noscript)等,所以这类通过innerHTML创建需要加前缀 换句话说,这样设置 div.innerHTML = "<div><script defer>alert(1)</srcript></div>" 可以执行查看全部
举报
0/150
提交
取消