为了账号安全,请及时绑定邮箱和手机立即绑定
  • de
    查看全部
    0 采集 收起 来源:几种绑定

    2016-10-23

  • before() this.parentNode.insertBefore( elem, this ); append() target.appendChild( elem ); prepend() target.insertBefore( elem, target.firstChild );
    查看全部
    0 采集 收起 来源:外部插入

    2016-10-13

  • append、appendTo prepend、prependTo before、insertBefore after、insertAfter replaceWith、replaceAll
    查看全部
    0 采集 收起 来源:内部插入

    2016-10-13

  • .text() 方法不能使用在 input 元素或 scripts 元素上。 input 或 textarea 需要使用 .val() 方法获取或设置文本值。得到scripts元素的值,使用.html()方法
    查看全部
    0 采集 收起 来源:插入

    2016-10-13

  • 我们参考右边的代码,整个流程如下: 分解类型,jQuery对象,节点对象,文本,字符串,脚本 引入nodes收集各种分解的类型数据 针对html节点,兼容IE的处理,先过滤空白,然后补全tr,td等 创建文档碎片的div包含节点,把html结构给innerHTML进去 取出创建的节点,jQuery.merge(nodes, tmp.childNodes),因为靠div包装过
    查看全部
    0 采集 收起 来源:核心buildFragment

    2016-10-13

  • 我们只需要把不同类型的参数分解后,压入到文档碎片就可以了,当然因为类型的不同处理的方式也有不同。
    查看全部
    0 采集 收起 来源:核心buildFragment

    2016-10-13

  • 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属性的元素,给单独提出来,通过正则抽出来这个节点名字去处理
    查看全部
    0 采集 收起 来源:innerHTML的缺陷

    2016-10-13

  • innerHTML兼容性问题 IE会对用户字符串进行trimLeft操作,用户可能的本意就是需要空白 IE8有些元素innerHTML是只读 IE会忽略开头的无作用域元素 大多情况下不执行script脚本,当然如果支持defer的IE9之前的浏览器除外 一些标签不能作为div的子元素,如tr,tb, col等
    查看全部
    0 采集 收起 来源:innerHTML的缺陷

    2016-10-13

  • 这个任务就交给了domManip,除此之外domManip在设计上需要做的处理: 1:解析参数,字符串,函数,对象 2:针对大数据引入文档碎片处理 3:如果参数中包含script的处理
    查看全部
    0 采集 收起 来源:深入domManip(上)

    2016-10-13

  • defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。
    查看全部
    0 采集 收起 来源:深入domManip(上)

    2016-10-13

  • 其中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); } }); }
    查看全部
    0 采集 收起 来源:深入domManip(上)

    2016-10-13

  • IE下面innerHTML会忽略没作用域元素,no-scope element(script,link,style,meta,noscript)等,所以这类通过innerHTML创建需要加前缀 换句话说,这样设置 div.innerHTML = "<div><script defer>alert(1)</srcript></div>" 可以执行
    查看全部
    0 采集 收起 来源:深入domManip(上)

    2018-03-22

举报

0/150
提交
取消
课程须知
源码的阅读不是一蹴而就的,需要大家有一定的功底,比如jQuery的基础运用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基础功底,甚至还需要理解常见的设计模式、数据结构等等。当然大家也不要被这些给吓住了,理解,总是需要一种慢慢的学习过程。
老师告诉你能学到什么?
通过本课程的学习,您可以由浅入深地剖析jQuery库的设计与实现。 其中我们围绕的重心: 1、设计理念 2、结构组织 3、接口设计 4、模式运用 5、场景套用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!