parser,故名意思,就是解析器的意思,别看他只有那么几行代码,jQuery Easyui 能够根据class就能正常渲染页面全靠它了。一般情况下,我们并用不到解析器,本文主要讨论一下,什么情况下会用到它,如何使用。
自动调用parser:
我们之所以在页面中,只要书写相应的class,Easyui就能成功渲染页面,这是因为解析器在默认情况下,会在文档装载完成的时候($(document).ready)被调用一次,而且是渲染整个页面。
手动调用parser:
有些童鞋反映,当页面装载完后,如果用javascript生成的DOM中包含了Easyui支持控件的class,比如说,用javascript生成了以下代码:
<div class="easyui-accordion" id="tt">
<div title="title1">1</div>
<div title="title2">2</div>
</div>
虽然页面上有这样的DOM了,但是没有被渲染为Easyui的accordion插件,原因很简单,Easyui并不会一直监听页面,所以不会主动渲染,这时候就需要手工调用Easyui的parser进行解析了。不过手工调用需要注意以下几点:
(1) 解析目标为指定DOM的所有子孙元素,不包含这个DOM自身:
比如上面代码生成的HTML,id="tt"是我们想要的手风琴DIV,像下面代码去手工解析的话是得不到你想要的结果的:
$.parser.parse($('#tt'));
道理很简单,parser只渲染tt的子孙元素,并不包括tt自身,而它的子孙元素并不包含任何Easyui支持的控件class,所以这个地方就得不到你想要的手风琴效果了,应该这样写:
$.parser.parse($('#tt').parent());
渲染tt的父节点的所有子孙元素就可以了,个人觉得通过jQuery的parent()方法是最安全不过的了,不管你的javascript输出了什么DOM,直接渲染其父节点就可以保证页面能被正确解析。
(2) 某些组件无法多次解析同一个DOM元素:
如果页面上本身就有tt元素:
<div class="easyui-accordion" id="tt">
</div>
页面装载完,你通过脚本向tt元素append两个子DIV,然后解析:
$('#tt').append('<div title="title1">1</div><div title="title2">2</div>')
$.parser.parse($('#tt').parent());
不要以为你会得到一个满意的accordion,你什么也得不到,因为页面初始化的时候parser就主动渲染过tt元素,这时候tt已经被parser重构,你再到脚本中append,得到的DOM结构,其实并不是你预想的结果了,所以要避免这种用法。
分享到:
相关推荐
JQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了一系列的 UI 组件,如对话框...无论是在表单中选择特定日期,还是在其他场景下需要日期选择功能,JQuery EasyUI 的日历组件都是一个高效且实用的解决方案。
使用 jQuery EasyUI 开发产品可以显著节省时间和资源,因为它已经封装了许多底层的实现细节。同时,框架本身支持扩展,开发者可以根据实际需求定制或扩展现有的控件,增强了其灵活性。随着版本的不断更新,EasyUI ...
jQuery EasyUI 和 EXTension 是两种广泛使用的前端开发框架,它们为开发者提供了丰富的组件和API,以简化Web应用程序的创建过程。下面将详细讲解这两个框架的主要特点、核心组件以及API的使用。 **jQuery EasyUI** ...
在Web开发领域,jQuery EasyUI是一个广泛使用的前端框架,它基于jQuery库,提供了一系列便捷的UI组件,简化了网页界面的构建过程。本篇文章将深入探讨jQuery EasyUI 1.3.4版本的API,帮助开发者更好地理解和运用这一...
### jQuery EasyUI 中文文档概览与核心组件详解 #### Accordion(可折叠标签) Accordion 组件是 jQuery EasyUI 框架中的一个重要组件,它允许开发者在网页上轻松定义可折叠的区域,通常用于组织大量信息或创建...
此文档为 **jQuery EasyUI 1.4.5版本** 的官方API文档中文版,由 Richie696 制作,主要面向使用中文的开发人员。 该文档详细介绍了 jQuery EasyUI 各个组件的功能、用法以及API细节,对于初学者来说是一份非常宝贵...
### JqueryEasyUI:强大的第三方用户控件库 JqueryEasyUI是一个专为简化Web界面设计而生的第三方用户控件库,它基于jQuery框架,提供了丰富的UI组件和交互功能,使得开发者能够轻松构建出美观、高效且具有高度互动...
此外,jQuery EasyUI 还提供了Grid(表格)、Tree(树形结构)、Panel(面板)、Tab(选项卡)等多种组件,它们都有丰富的配置项和事件系统,以满足不同场景的需求。开发者可以通过调整这些参数,结合自身的业务逻辑...
前者适用于简单的场景,只需在元素上添加特定的 class,如 `easyui-dialog`,EasyUI 的解析器(Parser)会自动识别并转换成对应的 UI 组件。后者则更灵活,可以在运行时动态创建和操作组件,例如通过 `$('#box')....
在动态内容加载的场景中,例如通过Ajax加载页面片段时,NumberBox组件可能不会立即被jQuery EasyUI识别,因此需要采取一些措施来确保动态内容中的NumberBox能够正常工作。一种常见的做法是,在动态内容加载完毕后,...
### 最新jQuery+EasyUI API培训文档 #### Accordion(可折叠标签) **Accordion** 是一个功能组件,允许用户在有限的空间内展示更多的内容。它通过折叠的方式展示多个部分的内容,用户可以点击标题来切换显示或...
### jQuery EasyUI 中文培训知识点概述 #### 一、Accordion(可折叠标签) **Accordion** 组件是 jQuery EasyUI 框架中的一个重要组件,它可以让网页中的内容以可折叠的方式展示出来,非常适合用于制作导航栏或者...
jQuery EasyUI 是一个基于 jQuery 的前端框架,它为开发人员提供了构建现代 Web 应用程序的各种控件,其中 DateBox 是 jQuery EasyUI 中用于处理日期输入的控件。DateBox 控件允许用户通过一个文本输入框来选择或...
以上只是jQuery + EasyUI API的一部分介绍,实际使用中,还有诸如Panel(面板)、Tree(树形结构)、Grid(表格)等多种组件,每种组件都有其特定的参数、事件和方法,通过合理的配置和调用,可以构建出复杂且交互性...
EasyUI是一款基于jQuery的用户界面插件集合,它简化了Web应用开发中的交互组件创建过程。其中,验证框(ValidateBox)是EasyUI中用于输入验证的一个强大工具,能够帮助开发者实现对用户输入的有效性检查。本文将详细...
例如,`$.fn.extend`用于扩展jQuery对象,增加新的方法,而`$.parser`则负责自动解析页面中的EasyUI元素并初始化它们。 2. **Parser** 解析器是EasyUI的核心部分,它会在页面加载完成后自动查找具有特定数据属性...
**EasyUI 组件**:EasyUI 包含了如对话框(dialog)、表格(datagrid)、菜单(menu)、表单(form)、树形结构(tree)等多种常见的用户界面组件,这些组件都有丰富的配置选项和事件处理能力,可以满足各种场景下的...
在IT领域,EasyUI是一个基于jQuery的前端框架,它提供了丰富的UI组件,使得开发者能够快速构建用户界面。本文将深入探讨“easyui-tree-demo”这个主题,包括EasyUI中的树形控件及其基本使用方法。 标题“easyui-...