在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本项目包含如下内容(还会陆续更新):注意,目前项目还处于初期阶段,还未进行完整的兼容性测试,欢迎指导和反馈!如果本项目对您有用或者有疑问的地方,请一定告诉我,非常之欢迎!本...
4. **调用接口方法**:在Fragment中,当需要与Activity通信时,直接调用接口中定义的方法。例如,在按钮点击事件中,调用`mEventListener.onButtonClicked()`。 ```java button.setOnClickListener(new View....
在Cordova 5.1.1版本中,将Fragment集成到应用中,可以增强对大屏幕设备的支持和提供更复杂的UI交互。 1. **Cordova 概述**: - Cordova是基于Apache Cordova项目的,它提供了一个跨平台的开发环境,让开发者能够...
在接收到JSON响应后,开发者需要解析这些数据,将其转化为Java对象,以便在Fragment中展示。例如,数据可能包含一个列表,可以填充到ListView或者RecyclerView中。上拉加载(Pull-to-Refresh)是一种常见的用户体验...
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的基本概念和使用。Fragment是Android 3.0(API级别11)引入的,设计目的是为了更好地...
在给定的标题"JavaScript_提供Worker订阅和Fragment设置的GUI面板,以及为使用singboxcore和xraycor"中,提到了几个关键概念,包括Web Worker、GUI面板、singboxcore和xraycor。下面将详细解释这些概念。 **Web ...
在Android开发中,`WebView`、`Fragment`、`TabHost`以及多线程是构建复杂用户界面和优化性能的关键组件。以下是对这些知识点的详细解释: 1. **WebView**: `WebView`是Android SDK提供的一种原生控件,用于在应用...
"react-addons-create-fragment"是React早期版本的一个加载项,它提供了创建和管理多个子元素集合的能力,而不会在DOM中插入额外的节点。这个加载项在React 16版本之后被废弃,取而代之的是更现代和优化的API,如`...
在Android应用开发中,Fragment是Android SDK提供的一种组件,它允许开发者在..."FragmentDemo1"项目就是一个很好的实践案例,通过它你可以学习到如何有效地管理和切换Fragment,以及如何在Fragment中展示数据。
ARouter是阿里巴巴开源的一个强大的路由框架,用于解决大型应用中Activity、Fragment、Service等组件之间的跳转和通信问题。它提供了注解驱动的API,使得开发者能够更方便地管理应用中的路径和依赖注入。 在这个...
在`Fragment`中使用`WebView`,我们需要在`onCreateView()`中创建`WebView`对象,设置其属性,如是否启用JavaScript,然后调用`loadUrl()`加载网页地址。 在实际应用中,我们还需要考虑一些细节,例如添加监听器...
Vue.js是目前前端开发中非常流行的JavaScript框架,它提供了一种简单而高效的方式来构建用户界面。Vue中的组件是可复用的Vue实例,具有自己的作用域。在开发过程中,我们可能会遇到需要向一个父节点一次性插入大量...
在Android开发中,`Fragment`和`WebView`是两个非常重要的组件。`Fragment`是Android 3.0(API级别11)引入的新特性,它允许开发者在同一个Activity中展示多个可交互的UI片段,提高了应用程序的灵活性和复用性。而`...
然后,在对应的Activity或Fragment中初始化WebView,并加载本地HTML文件。这通常通过调用`loadDataWithBaseURL()`或`loadUrl()`方法完成。例如,假设我们的HTML文件位于`assets`目录下: ```java WebView webView =...
在JavaScript中,动态添加DOM元素是一项常见的任务,特别是在构建交互式网页时。本文将深入探讨如何使用JavaScript动态地向HTML表格(table)中添加`tr`(行)节点,同时结合“工具”类标签,我们可以理解这是一个...
这里我们将深入探讨JavaScript中与DOM相关的几个关键知识点。 首先,Element类型是DOM中最常见的节点类型,它代表HTML或XML文档中的元素,如`div`, `span`, `a`等。Element节点具有以下主要特性: 1. `nodeType`:...
然后,在Activity或Fragment的Java代码中,我们需要初始化并设置WebView: ```java WebView webView = findViewById(R.id.web_view); webView.getSettings().setJavaScriptEnabled(true); // 启用JavaScript ...
在对应的Activity或Fragment中,初始化WebView,设置WebSettings,加载本地HTML文件或者网络URL: ```java WebView webView = findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); // ...
在Android应用开发中,创建一个具有侧滑选项卡、Fragment管理和浏览器控件的界面是一项常见的需求。这个项目可能是一个自定义的浏览器应用,它利用ViewPager和Fragment来实现多页面切换,同时采用特定的机制来确保...