EasyUI-Parser(解析器)


中parse() 方法可解析一个日期字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒。

用法如下:

Date.parse(datestring)

该方法是 Date 对象的静态方法。一般采用 Date.parse() 的形式来调用,而不是通过 dateobject.parse() 调用该方法。

注释:Date.parse() 是 Date 对象的静态方法。

示例:

var d = Date.parse(“Jul 8, 2005”)
document.write(d)

转换成年:

var minutes = 1000 * 60
var hours = minutes * 60
var days = hours * 24
var years = days * 365
var t = Date.parse(“Jul 8, 2005”)
var y = t/years
document.write(“It's been: ” + y + ” years from 1970/01/01″)
document.write(” to 2005/07/08!”)

下面看看的用法:

使用方法

  1. $.parser.parse();       // 解析所有页面
  2. $.parser.parse(‘#cc');  // 解析指定节点 

属性

属性名

属性值类型

描述

默认值

$.parser.auto

boolean

定义是否自动解析组件。

true

事件

事件名

事件参数

描述

$.parser.onComplete

context

在解析器完成解析操作的时候触发。

 

方法

方法名

方法参数

描述

$.parser.parse

context

解析组件。

详细解说:

parser,故名意思,就是解析器的意思,别看他只有那么几行代码,jQuery 能够根据class就能正常渲染页面全靠它了。一般情况下,我们并用不到解析器,本文主要讨论一下,什么情况下会用到它,如何使用。

自动调用parser:

在页面中,只要书写相应的class,就可以成功渲染页面,这是因为解析器在默认情况下,会在文档装载完成的时候($(document).ready)被调用一次,而且是渲染整个页面。

手动调用parser:

有些童鞋反映,当页面装载完后,如果用生成的DOM中包含了Easyui支持控件的class,比如说,用生成了以下代码:

1
2

虽然页面上有这样的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()方法是最安全不过的了,不管你的输出了什么DOM,直接渲染其父节点就可以保证页面能被正确解析。

(2) 某些组件无法多次解析同一个DOM元素:

如果页面上本身就有tt元素:

页面装载完,你通过脚本向tt元素append两个子DIV,然后解析:

$('#tt').append('
1
2
') $.parser.parse($('#tt').parent());

不能认为为你会得到一个满意的accordion,你什么也得不到,因为页面初始化的时候parser就主动渲染过tt元素,这时候tt已经被parser重构,你再到脚本中append,得到的DOM结构,并不是你预想的结果,所以避免这种用法。

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《EasyUI-Parser(解析器)
本文地址:https://www.zhiletu.com/archives-2617.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微