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)