Framework7 - DOM7库的使用1(基本的DOM操作)
作者:hangge | 2016-08-07 12:10

过去我们操作 DOM 元素时,常常会使用 jQuery 这样的JS库。
而 Framework7 自身就带了一个高性能的DOM操作库:DOM7。它有如下特点:
(1)集成了大部分常用 DOM 操作。
(2)不需要学习任何新的东西,因为它的用法和大名鼎鼎的 jQuery 几乎是一样的,包括大部分常用的方法和 jQuery 风格的链式调用。
2,一个简单的样例
(1)我们有一个全局的 Dom7 对象,为了便于使用,我们将其存储到一个局部变量中。为了防止和其他库冲突(比如jQuery),我们推荐使用 $$ 来代替 $。
var $$ = Dom7;(2)下面样例是点击具有 something 样式的对象时会触发相关的操作。
$$('.something').on('click', function (e) {
$$(this).addClass('hello').attr('title', 'world').insertAfter('.something-else');
});
3,常用的方法
从下表可以发现,这些方法几乎都和 jQuery/Zepto 是一样的。
| Classes | |
|---|---|
| .addClass(className) | 给元素增加class |
| .removeClass(className) | 删除指定的class |
| .hasClass(className) | 元素上是否有指定的class: |
| .toggleClass(className) | 有则删除,无则添加: |
| 属性 | |
| .prop(propName) | 获取一个属性值: |
| .prop(propName, propValue) | 设置一个属性值: |
| .prop(propertiesObject) | 设置多个属性值: |
| .attr(attrName) | 获取一个属性值: |
| .attr(attrName, attrValue) | 设置一个属性值: |
| .attr(attributesObject) | 设置多个属性值: |
| .removeAttr(attrName) | 删除属性值: |
| .val() | 获取选中的元素中的第一个元素的当前值 |
| .val(newValue) | 给选中的元素的每一个都设置指定的值 |
| Data storage | |
| .data(key, value) | 在选中的元素上存储任意数据 |
| .data(key) | 如果只有一个参数,则读取指定的值,如果有两个参数 data(key, value) 则是设置值,也可以通过 HTML5 data-* 属性来设置。
or |
| .removeData(key) | 删除指定数据 |
| Data Set | |
| .dataset() | 获取元素的数值,放到一个对象中 |
| CSS transform, transitions | |
| .transform(CSSTransformString) | 添加带前缀的transform 样式: |
| .transition(transitionDuration) | 设置css transition-duration 属性 |
| Events | |
| .on(eventName, handler,useCapture) | 在选中的元素上绑定事件 |
| .on(eventName, delegatedTarget,handler, useCapture) | 通过代理绑定事件 |
| .once(eventName, handler,useCapture) | 为选中的元素绑定执行一次的事件 |
| .once(eventName, delegatedTarget,handler, useCapture) | 通过代理绑定执行一次的事件 |
| .off(eventName, handler,useCapture) | 移除事件绑定 |
| .off(eventName, delegatedTarget,handler, useCapture) | 移除通过代理绑定的事件 |
| .trigger(eventName, eventData) | 触发选中元素上的事件,指定所有的事件回调函数 |
| .transitionEnd(callback,permanent) | 在选中的元素上增加 transitionEnd 事件回调 |
| .animationEnd(callback) | 在选中的元素上增加 animationEnd 事件回调 |
| Styles | |
| .width() | 获取当前选中元素中的第一个元素的当前计算出来的宽度 |
| .outerWidth([includeMargin]) | 获取当前选中元素中的第一个元素的当前计算出来的宽度,包括 padding ,border 和 margin(如果 includeMargin 设置为 true) |
| .height() | 获取当前选中玄素中的第一个元素的当前计算出来的高度 |
| .outerHeight([includeMargin]) | 获取当前选中元素中的第一个元素的当前计算出来的高度,包括 padding ,border 和 margin(如果 includeMargin 设置为 true) |
| .offset() | 获取当前选中元素的第一个元素相对 document 的位置偏移 |
| .hide() | 对选中的元素设置 "display: none" |
| .show() | 对选中的元素设置 "display: block" |
| .css(property) | 获取选中元素中第一个元素的CSS属性值 |
| .css(property, value) | 设置全部选中元素中的CSS属性值 |
| .css(propertiesObject) | 设置全部选中元素中的多个CSS属性值 |
| Scroll | |
| .scrollTop() | 获取选中元素的 scrollTop 值 |
| .scrollTop(position, duration, callback) | 在指定时间(duration)内滚动到指定位置(position)。如果时间(duration没有定义),则立刻滚动到指定位置。如果你指定了回调函数,那么他会在滚动完成后执行。 |
| .scrollLeft() | 获取选中元素的 scrollLeft 值 |
| .scrollLeft(position, duration, callback) | 在指定的时间(duration 毫秒)内滚动到指定的位置(scrollLeft)。如果没有指定时间则立刻滚动到指定位置。如果你指定了回调函数,那么他会在动画完成后执行。 |
| .scrollTo(left, top, duration, callback) | 在指定的时间(duration 毫秒)内滚动到指定的位置(scrollLeft, scrollTop)。如果没有指定时间则立刻滚动到指定位置。如果你指定了回调函数,那么他会在动画完成后执行。 |
| Dom 操作 | |
| .add(elements) | 创建一个新的Dom7集合放到指定的一个元素里: |
| .each(callback) | 遍历集合,对其中每一个元素执行回调。 |
| .html() | 获得选中的第一个元素的HTML内容 |
| .html(newInnerHTML) | 给全部选中元素设置HTML内容 |
| .text() | 获得选中的第一个元素的文本内容 |
| .text(newTextContent) | 给全部选中元素设置文本内容 |
| .is(CSSSelector) | 选中的元素是否符合指定的CSS选择器 |
| .is(HTMLElement) | 选中的元素是否是给定的 DOM 元素或者 Dom7 集合 |
| .index() | 当前选中的第一个元素在他的所有兄弟节点中的排序 |
| .eq(index) | 返回当前选中的元素中的指定序号的元素 |
| .append(HTMLString) | 在当前选中元素的每一个后面插入指定内容 |
| .append(HTMLElement) | 在当前选中元素的每一个后面插入指定元素 |
| .appendTo(HTMLElement) | 在当前选中元的后面插入指定元素 |
| .prepend(newHTML) | 在当前选中元素的每一个前面插入指定内容 |
| .prepend(HTMLElement) | 在当前选中元素的每一个前面插入指定元素 |
| .prependTo(HTMLElement) | 在当前选中元的前面插入指定元素 |
| .insertBefore(target) | 把当前选中的每一个元素插入到指定的目标之前。目标(target)应该是一个 CSS 选择器或者 HTML 元素 或者 Dom7集合 |
| .insertAfter(target) | 把当前选中的每一个元素插入到指定的目标之后。目标(target)应该是一个 CSS 选择器或者 HTML 元素 或者 Dom7集合 |
| .next([selector]) | 获得当前选中的每一个元素的下一个直接兄弟元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些兄弟元素。 |
| .nextAll([selector]) | 获得当前选中的每一个元素之后的全部兄弟元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些兄弟元素。 |
| .prev([selector]) | 获得当前选中的每一个元素的上一个直接兄弟元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些兄弟元素。 |
| .prevAll([selector]) | 获得当前选中的每一个元素之前的全部兄弟元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些兄弟元素。 |
| .parent([selector]) | 获取选中的每一个元素的父元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些父元素。 |
| .parents([selector]) | 获取选中的每一个元素的祖先元素。如果提供了一个选择器(selector),那么会用这个选择器来过滤这些祖先元素。 |
| .find(selector) | 在选中的每一个元素的后代中查找指定的元素。 |
| .children(selector) | 在选中的每一个元素的直接孩子中查找指定的元素。 |
| .filter(callback) | 从集合中过滤元素 |
| .remove() | 从DOM中删除选中的元素 |
| 快捷方式 | |
| .click() | 触发选中元素上的"click"事件 |
| .click(handler) | 为选中的元素绑定"click"事件 |
| .blur() | Trigger "blur" event on collection |
| .blur(handler) | Add "blur" event handler to collection |
| .focus() | Trigger "focus" event on collection |
| .focus(handler) | Add "focus" event handler to collection |
| .focusin() | Trigger "focusin" event on collection |
| .focusin(handler) | Add "focusin" event handler to collection |
| .focusout() | Trigger "focusout" event on collection |
| .focusout(handler) | Add "focusout" event handler to collection |
| .keyup() | Trigger "keyup" event on collection |
| .keyup(handler) | Add "keyup" event handler to collection |
| .keydown() | Trigger "keydown" event on collection |
| .keydown(handler) | Add "keydown" event handler to collection |
| .keypress() | Trigger "keypress" event on collection |
| .keypress(handler) | Add "keypress" event handler to collection |
| .submit() | Trigger "submit" event on collection |
| .submit(handler) | Add "submit" event handler to collection |
| .change() | Trigger "change" event on collection |
| .change(handler) | Add "change" event handler to collection |
| .mousedown() | Trigger "mousedown" event on collection |
| .mousedown(handler) | Add "mousedown" event handler to collection |
| .mousemove() | Trigger "mousemove" event on collection |
| .mousemove(handler) | Add "mousemove" event handler to collection |
| .mouseup() | Trigger "mouseup" event on collection |
| .mouseup(handler) | Add "mouseup" event handler to collection |
| .mouseenter() | Trigger "mouseenter" event on collection |
| .mouseenter(handler) | Add "mouseenter" event handler to collection |
| .mouseleave() | Trigger "mouseleave" event on collection |
| .mouseleave(handler) | Add "mouseleave" event handler to collection |
| .mouseout() | Trigger "mouseout" event on collection |
| .mouseout(handler) | Add "mouseout" event handler to collection |
| .mouseover() | Trigger "mouseover" event on collection |
| .mouseover(handler) | Add "mouseover" event handler to collection |
| .touchstart() | Trigger "touchstart" event on collection |
| .touchstart(handler) | Add "touchstart" event handler to collection |
| .touchend() | Trigger "touchend" event on collection |
| .touchend(handler) | Add "touchend" event handler to collection |
| .touchmove() | Trigger "touchmove" event on collection |
| .touchmove(handler) | Add "touchmove" event handler to collection |
| .resize(handler) | Add "resize" event handler to collection |
| .scroll(handler) | Add "scroll" event handler to collection |
全部评论(0)