MDUI 内置了一个轻量的 JavaScript 工具库,它拥有和 jQuery 类似的 api 和 jQuery 风格的链式调用,但体积仅为 jQuery 的六分之一。
你可以通过 mdui.JQ
来调用该库,但最好把 mdui.JQ
存储到一个简短的变量中以方便调用,为了避免和其他库冲突,推荐使用 $$
。
var $$ = mdui.JQ;
在后面的文档中,都使用 $$
来表示 mdui.JQ
。
$$() |
该方法有多种用法: 可以传入一个 CSS 选择器作为参数,返回包含匹配元素的 JQ 对象。该方法是通过 querySelectorAll 实现的。
可以传入 DOM 元素、DOM 元素数组、NodeList、JQ 对象,返回包含指定元素的 JQ 对象。
可以传入 HTML 字符串,返回包含根据 HTML 创建的 DOM 的 JQ 对象。
可以传入一个函数,在 DOM 加载完毕后会调用该函数。
|
$$.extend() |
如果只传入一个对象,该对象中的属性将合并到 JQ 对象中,相当于在 JQ 的命名空间下添加新的功能。
如果传入了两个或更多个对象,所有对象的属性都添加到第一个对象,并返回合并后的对象。
|
$$.fn.extend() |
在 JQ 的原型链上扩展方法。
|
$$.param() |
将数组或对象序列化。
|
$$.each() |
遍历数组或对象
|
$$.merge() |
合并两个数组,合并的结果会替换第一个数组的内容,并返回合并的结果。
|
$$.unique() |
删除数组中的重复元素。可以是 DOM 元素数组、字符串数组、数字数组。返回去重后的数组。
|
$$.map() |
遍历数组或对象,通过函数返回一个新的数组或对象,
|
$$.contains() |
判断父节点是否包含子节点,返回布尔值。
|
.is() |
根据 CSS 选择器、DOM 元素、或 JQ 对象来检测匹配的元素集合,至少有一个元素匹配则返回 true,否则返回 false。
|
.length |
返回 JQ 对象中元素的数量。
|
.each() |
遍历一个 JQ 对象,为每一个匹配元素执行一个函数。如果函数返回 false,则结束遍历。 函数的第一个参数为元素的索引号,第二个参数为当前元素。函数的 this 关键字指向当前元素。
|
.map() |
遍历一个 JQ 对象,为对象的每个元素都调用一个函数,生成一个包含函数返回值的新的 JQ 对象。 函数的第一个参数为元素的索引号,第二个参数为当前元素。函数的 this 关键字指向当前元素。
|
.eq() |
返回 JQ 对象中指定索引号的元素的 JQ 对象。
|
.first() |
返回 JQ 对象中第一个元素的 JQ 对象。
|
.last() |
返回 JQ 对象中最后一个元素的 JQ 对象。
|
.get() |
返回 JQ 对象中指定索引号的 DOM 元素。若没有指定索引号,则返回 JQ 对象中所有 DOM 元素组成的数组。
|
.index() |
如果没有传入参数,则返回 JQ 对象中第一个元素相对于同辈元素的索引值。 如果传入了一个 CSS 选择器作为参数,则返回 JQ 对象中第一个元素相对与 CSS 选择器匹配元素的索引值。 如果传入了一个 DOM 元素,则返回该 DOM 元素在 JQ 对象中的索引值。
|
.slice() |
返回一个 JQ 对象的子集。 子集为从 start 开始的元素。如果传入了 end 参数,则提取从 start 到不包含 end 位置的元素。
|
.filter() |
从 JQ 对象中筛选出与指定表达式匹配的元素的 JQ 对象。参数可以是 CSS 选择器、JQ 对象、DOM 元素、函数。 参数为函数时,函数的第一个参数为当前元素在 JQ 对象中的索引号,第二个参数为当前元素,this 关键字指向当前元素。函数返回 true 时,该元素会被保留,返回 false 时,该元素会被去除。
|
.not() |
从 JQ 对象中筛选出与指定表达式不匹配的元素的 JQ 对象。参数可以是 CSS 选择器、JQ 对象、DOM 元素、函数。 参数为函数时,函数的第一个参数为当前元素在 JQ 对象中的索引号,第二个参数为当前元素,this 关键字指向当前元素。函数返回 true 时,该元素会被去除,返回 false 时,该元素会被保留。
|
.hasClass() |
判断 JQ 对象中的第一个元素是否含有指定 CSS 类。
|
.addClass() |
为元素添加 CSS 类,多个类名之间可以用空格分隔。
|
.removeClass() |
移除元素上的 CSS 类,多个类名之间可以用空格分隔。
|
.toggleClass() |
元素上的 CSS 类,有则删除,无则添加。多个类名之间可以用空格分隔。
|
.prop() |
获取或设置选中元素的属性值。
|
.removeProp() |
删除选中元素指定的属性值。
|
.attr() |
获取或设置选中元素的属性值。
|
.removeAttr() |
删除选中元素的指定属性值。
|
.val() |
获取或设置选中元素的值。
|
.text() |
获取或设置选中元素的文本内容。
|
.html() |
获取或设置选中元素的 HTML 内容。
|
$$.data() |
在 DOM 元素上读取或存储数据。
|
$$.removeData() |
删除 DOM 上存储的数据。
|
.data() |
在当前 JQ 对象的元素上存储数据。
|
.removeData() |
删除 JQ 对象的元素上存储的数据。
|
.css() |
获取 JQ 对象中的第一个元素的样式值,或者设置每一个元素的样式。
|
.width() |
如果没有传入参数,则获取 JQ 对象中第一个元素的宽度。 如果传入了参数,则设置 JQ 对象中所有元素的宽度,如果参数是个数字或数字字符串,会自动添加 px 作为单位。 该方法获取的值默认不包含内边距和外边距,当 box-sizing:border-box 时,会包含内边距。
|
.height() |
如果没有传入参数,则获取 JQ 对象中第一个元素的高度。 如果传入了参数,则设置 JQ 对象中所有元素的高度,如果参数是个数字或数字字符串,会自动添加 px 作为单位。 该方法获取的值默认不包含内边距和外边距,当 box-sizing:border-box 时,会包含内边距。
|
.innerWidth() |
获取元素的宽度,包含内边距。
|
.innerHeight() |
获取元素的高度,包含内边距。
|
.hide() |
隐藏 JQ 对象中的所有元素。
|
.show() |
恢复 JQ 对象中的所有元素的显示状态。
|
.toggle() |
切换 JQ 对象中所有元素的显示状态。
|
.offset() |
获取元素相对于 document 的偏移,以及元素的宽度和高度。
|
.offsetParent() |
返回 JQ 对象中第一个元素的用于定位的父元素的 JQ 对象。即父元素中第一个 position 为 relative 或 absolute 的元素。
|
.position() |
获取元素相对于父元素的偏移,以及宽度和高度。
|
.find() |
根据 CSS 选择器找到指定的后代节点的集合。
|
.children() |
获取匹配元素的直接子元素,可以使用 CSS 选择器作为参数进行过滤。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.has() |
对匹配元素的子元素,按传入的参数进行过滤,返回过滤后的元素的 JQ 对象。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.parent() |
返回匹配的直接父元素的 JQ 对象。 如果没有传入参数,则直接返回直接父元素的 JQ 对象。如果传入了参数,仅返回和参数匹配的直接父元素的 JQ 对象。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.parents() |
返回匹配的所有祖先元素的 JQ 对象。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.parentsUntil() |
查找当前元素的所有父辈元素,直到遇到匹配的那个元素为止。 返回的 JQ 对象里包含了下面所有找到的父辈元素,但不包含参数匹配到的元素。
|
.prev() |
获取当前元素的前一个同辈元素的 JQ 对象。可以使用参数进行过滤。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.prevAll() |
获取当前元素前面的所有同辈元素的 JQ 对象。可以使用参数进行过滤。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.prevUntil() |
获取当前元素前面所有的同辈元素,直到遇到匹配元素,不包含匹配元素。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.next() |
获取当前元素的后一个同辈元素的 JQ 对象。可以使用参数进行过滤。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.nextAll() |
获取当前元素后面的所有同辈元素的 JQ 对象。可以使用参数进行过滤。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.nextUntil() |
获取当前元素后面所有的同辈元素,直到遇到匹配元素,不包含匹配元素。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.closest() |
从当前元素向上逐级匹配,返回最先匹配到的元素。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.siblings() |
获取当前元素的所有同辈元素。可以使用参数进行过滤。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.add() |
添加元素到当前 JQ 对象中。 参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.empty() |
从 DOM 中移除选中元素的所有子节点。
|
.remove() |
从 DOM 中移除所有选中的元素。
|
.prepend() |
在选中元素内部的前面插入指定内容。 传入的参数可以是 字符串、HTML、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.prependTo() |
把选中元素添加到另一个指定元素的内部的前面。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.append() |
在选中元素内部的后面插入指定内容。 传入的参数可以是 字符串、HTML、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.appendTo() |
把选中元素插入到另一个指定元素的内部的后面。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList。
|
.after() |
在选中元素的后面插入内容。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList、HTML 字符串
|
.insertAfter() |
把选中元素插入到指定元素的后面。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList、HTML 字符串
|
.before() |
在选中元素前面插入内容。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList、HTML 字符串
|
.insertBefore() |
把选中元素插入到指定元素前面。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList、HTML 字符串
|
.replaceWith() |
用新元素替换选中元素。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList、HTML 字符串
|
.replaceAll() |
用选中元素替换指定元素。 传入的参数可以是 CSS 选择器、JQ 对象、DOM 元素、DOM 元素数组、NodeList
|
.clone() |
通过深度克隆来复制集合中的所有元素。 通过原生 cloneNode 方法深度克隆来复制集合中的所有元素。此方法不会有数据和事件处理程序复制到新的元素。这点和jquery中利用一个参数来确定是否复制数据和事件处理不相同。
|
.serializeArray() |
把表单元素的值组合成由 name 和 value 的键值对组成的数组。
|
.serialize() |
将表单元素数组或者对象序列化。
|
.on() |
为每个匹配元素的特定事件绑定事件处理函数。
|
.one() |
为每个匹配元素的特定事件绑定事件处理函数。但事件只会触发一次。 该方法的用法和 |
.off() |
从每个匹配的元素中解除绑定的事件。
|
.trigger() |
触发指定的事件
|
.ready() |
DOM 加载完毕,
|
$$.ajaxSetup() |
设置全局 AJAX 默认参数。
详细参数列表见下方的 AJAX 参数。 |
$$.ajax() |
发送 AJAX 请求,返回其创建的 XMLHttpRequest 对象。
详细参数列表见下方的 AJAX 参数。 |
.ajaxStart() |
全局 AJAX 事件。 AJAX 请求开始时执行函数。
|
.ajaxSuccess() |
全局 AJAX 事件。 AJAX 请求成功时执行函数。
|
.ajaxError() |
全局 AJAX 事件。 AJAX 请求发生错误时执行函数。
|
.ajaxComplete() |
全局 AJAX 事件。 AJAX 请求完成时执行函数。
|
参数名 | 参数类型 | 默认值 | 描述 |
---|---|---|---|
method |
String |
GET |
请求方式。 包括:GET、POST、PUT、PATCH、HEAD、OPTIONS、DELETE |
data |
Object, String |
'' |
发送到服务器的数据。 |
processData |
Boolean |
true |
是否把传递进来的数据转换成查询字符串发送。 |
async |
Boolean |
true |
是否为异步请求。 |
cache |
Boolean |
true |
是否从缓存中读取。只对 GET、HEAD 请求有效。 |
username |
String |
'' |
HTTP 访问认证的用户名。 |
password |
String |
'' |
HTTP 访问认证的密码。 |
headers |
Object |
{} |
添加到 Headers 中的数据。可以在 beforeSend 回调函数中重写该值。 |
xhrFields |
Object |
{} |
设置在 XMLHttpRequest 对象上的数据。
|
statusCode |
Object |
{} |
HTTP 状态码和函数组成的对象。
状态码在 200 - 299 之间表示请求成功,函数参数和 |
dataType |
String |
text |
服务器返回的数据类型。 包括:text、json、jsonp |
jsonp |
String |
callback |
JSONP 请求中的回调函数名称。 |
jsonpCallback |
String, Function |
生成随机字符串的函数 | JSONP 请求的回调函数名称。你可以指定一个固定的名称,使浏览器能缓存 GET 请求。 |
contentType |
String |
application/x-www-form-urlencoded |
内容的编码类型。为 false 时将不设置 Content-Type。 |
timeout |
Number |
0 |
请求的超时时间(毫秒)。为 0 时表示永不超时。 |
global |
Boolean |
true |
是否触发全局 AJAX 事件。 |
beforeSend |
Function |
在请求发送之前调用。返回
|
|
success |
Function |
请求成功之后调用。
|
|
error |
Function |
请求出错时调用。
|
|
complete |
Function |
请求完成之后调用。
|
.reflow() |
重绘当前元素。
|
.transition() |
设置当前元素的 transition-duration 属性。
|
.transitionEnd() |
在当前元素上添加 transitionend 事件回调。
|
.transform() |
设置当前元素的 transform 属性。
|
.transformOrigin() |
设置当前元素的 transform-origin 属性。
|
.mutation() |
初始化当前元素的组件、及子元素的组件。
|
$$.showOverlay() |
显示遮罩层。可以传入一个整数参数,表示遮罩层的 z-index 样式,默认为 2000.
|
$$.hideOverlay() |
隐藏遮罩层。 如果调用了多次 $$.showOverlay() 来显示遮罩层,则也需要调用相同次数的 $$.hideOverlay() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。
|
$$.lockScreen() |
锁定屏幕。
|
$$.unlockScreen() |
解锁屏幕。 如果调用了多次 $$.lockScreen() 来显示遮罩层,则也需要调用相同次数的 $$.unlockScreen() 才能隐藏遮罩层。可以通过传入参数 true 来强制隐藏遮罩层。
|
$$.throttle() |
函数节流。 第一个参数是执行的函数,第二个参数是延迟时间。
|
$$.guid() |
生成一个全局唯一的 ID。
可以传入一个参数。当该参数值对应的 guid 不存在时,会生成一个新的 guid,并返回;当该参数对应的 guid 已存在,则直接返回已有 guid。
|
主题色
主色
强调色