`
haibin369
  • 浏览: 60412 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Javsscript中的fragment

阅读更多

在Javascript中,每当对DOM执行一次操作(插入元素,删除元素等)会出发浏览器的重新解析和渲染,当我们需要一次过进行多次DOM插入操作的时候,可以借助DocumentFragment这个节点类型帮助减少浏览器的重新解析。

假设我们要在下面的<ul/>中插入10个<li/>

<ul id="ul"></ul>

 一般做法:

var ul = document.getElementById("ul");
var li = null;
//循环往<ul/>插入<li/>,每次插入会出发浏览器重新渲染
for (var i=0; i < 10; i++){
    li = document.createElement("li");
    li.appendChild(document.createTextNode("li " + (i+1)));
    ul.appendChild(li);
}

 使用fragment:

var ul = document.getElementById("ul");
var li = null;
//使用DocumentFragment作为临时节点存放所有<li/>
var fragment = document.createDocumentFragment();
for (var i=0; i < 10; i++){
    li = document.createElement("li");
    li.appendChild(document.createTextNode("li " + (i+1)));
    fragment.appendChild(li);
}
//一次性把所有<li/>插入<ul/>,只出发一次浏览器重新渲染
ul.appendChild(fragment);

 

 

分享到:
评论

相关推荐

    useful-JavaScript-Fragment:前端常用JavaScript片段

    useful-JavaScript-Fragment本项目包含如下内容(还会陆续更新):注意,目前项目还处于初期阶段,还未进行完整的兼容性测试,欢迎指导和反馈!如果本项目对您有用或者有疑问的地方,请一定告诉我,非常之欢迎!本...

    Fragment和Activity交互(接口方式)

    4. **调用接口方法**:在Fragment中,当需要与Activity通信时,直接调用接口中定义的方法。例如,在按钮点击事件中,调用`mEventListener.onButtonClicked()`。 ```java button.setOnClickListener(new View....

    fragment cordova android

    在Cordova 5.1.1版本中,将Fragment集成到应用中,可以增强对大屏幕设备的支持和提供更复杂的UI交互。 1. **Cordova 概述**: - Cordova是基于Apache Cordova项目的,它提供了一个跨平台的开发环境,让开发者能够...

    Fragment_TabHostDemo

    在接收到JSON响应后,开发者需要解析这些数据,将其转化为Java对象,以便在Fragment中展示。例如,数据可能包含一个列表,可以填充到ListView或者RecyclerView中。上拉加载(Pull-to-Refresh)是一种常见的用户体验...

    sublime-js-snippets, 在 sublime text 2 & 3中,javascript/js编程的Fragment.zip

    sublime-js-snippets, 在 sublime text 2 & 3中,javascript/js编程的Fragment sublime-text 编辑器 2/3 - JavaScript代码段sublime text 2/3 Fu的javascript/js Fragment 。安装 sublime-text 2/3 --包控制通过...

    fragment+web

    "Fragment+Web" 主题则涉及到如何在Fragment中嵌入网页内容,实现安卓应用与Web端内容的交互。 首先,让我们深入理解Fragment的基本概念和使用。Fragment是Android 3.0(API级别11)引入的,设计目的是为了更好地...

    JavaScript_提供Worker订阅和Fragment设置的GUI面板,以及为使用singboxcore和xraycor

    在给定的标题"JavaScript_提供Worker订阅和Fragment设置的GUI面板,以及为使用singboxcore和xraycor"中,提到了几个关键概念,包括Web Worker、GUI面板、singboxcore和xraycor。下面将详细解释这些概念。 **Web ...

    webview+fragment与tabhost+多线程等功能的时间线

    在Android开发中,`WebView`、`Fragment`、`TabHost`以及多线程是构建复杂用户界面和优化性能的关键组件。以下是对这些知识点的详细解释: 1. **WebView**: `WebView`是Android SDK提供的一种原生控件,用于在应用...

    前端开源库-react-addons-create-fragment

    "react-addons-create-fragment"是React早期版本的一个加载项,它提供了创建和管理多个子元素集合的能力,而不会在DOM中插入额外的节点。这个加载项在React 16版本之后被废弃,取而代之的是更现代和优化的API,如`...

    FragmentDemo1

    在Android应用开发中,Fragment是Android SDK提供的一种组件,它允许开发者在..."FragmentDemo1"项目就是一个很好的实践案例,通过它你可以学习到如何有效地管理和切换Fragment,以及如何在Fragment中展示数据。

    Node.js-一个轻量级的Android路由框架基于ARouter上进行改良优化Fragment的使用可结合XPage使用。

    ARouter是阿里巴巴开源的一个强大的路由框架,用于解决大型应用中Activity、Fragment、Service等组件之间的跳转和通信问题。它提供了注解驱动的API,使得开发者能够更方便地管理应用中的路径和依赖注入。 在这个...

    viewpager和自定义Fragment滚动

    在`Fragment`中使用`WebView`,我们需要在`onCreateView()`中创建`WebView`对象,设置其属性,如是否启用JavaScript,然后调用`loadUrl()`加载网页地址。 在实际应用中,我们还需要考虑一些细节,例如添加监听器...

    Vue中fragment.js使用方法小结

    Vue.js是目前前端开发中非常流行的JavaScript框架,它提供了一种简单而高效的方式来构建用户界面。Vue中的组件是可复用的Vue实例,具有自己的作用域。在开发过程中,我们可能会遇到需要向一个父节点一次性插入大量...

    Fragment+WebView

    在Android开发中,`Fragment`和`WebView`是两个非常重要的组件。`Fragment`是Android 3.0(API级别11)引入的新特性,它允许开发者在同一个Activity中展示多个可交互的UI片段,提高了应用程序的灵活性和复用性。而`...

    使用webview加载本地html页面,并处理html页面中的javascript事件

    然后,在对应的Activity或Fragment中初始化WebView,并加载本地HTML文件。这通常通过调用`loadDataWithBaseURL()`或`loadUrl()`方法完成。例如,假设我们的HTML文件位于`assets`目录下: ```java WebView webView =...

    javascript动态添加tr节点

    在JavaScript中,动态添加DOM元素是一项常见的任务,特别是在构建交互式网页时。本文将深入探讨如何使用JavaScript动态地向HTML表格(table)中添加`tr`(行)节点,同时结合“工具”类标签,我们可以理解这是一个...

    JavaScript知识点个人总结

    这里我们将深入探讨JavaScript中与DOM相关的几个关键知识点。 首先,Element类型是DOM中最常见的节点类型,它代表HTML或XML文档中的元素,如`div`, `span`, `a`等。Element节点具有以下主要特性: 1. `nodeType`:...

    使用WebView中的Javascript和本地代码交互

    然后,在Activity或Fragment的Java代码中,我们需要初始化并设置WebView: ```java WebView webView = findViewById(R.id.web_view); webView.getSettings().setJavaScriptEnabled(true); // 启用JavaScript ...

    zip文件使用WebView中的Javascript和本地代码交互

    在对应的Activity或Fragment中,初始化WebView,设置WebSettings,加载本地HTML文件或者网络URL: ```java WebView webView = findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); // ...

    ViewPager+Fragment侧滑选项卡,浏览器控件,两次退出_浏览器实现代码.zip

    在Android应用开发中,创建一个具有侧滑选项卡、Fragment管理和浏览器控件的界面是一项常见的需求。这个项目可能是一个自定义的浏览器应用,它利用ViewPager和Fragment来实现多页面切换,同时采用特定的机制来确保...

Global site tag (gtag.js) - Google Analytics