APICloud開發指南之$api
目錄
遍歷
- .dom() 描述:選擇首個匹配的DOM元素
用法一:.dom(el, selector) 從el元素開始查詢
用法二:.dom(selector) 從document元素開始查詢 引數: el (型別:Element):DOM元素 selector (型別:Selector):CSS 選擇器
- .domAll() 描述:選擇所有匹配的DOM元素
- .byId() 描述:通過Id選擇DOM元素
用法:.byId(id) 引數: id(型別:String):CSS id 字串
- .first() 描述:選擇DOM元素的第一個子元素
用法一:.first(el, selector) 用法二:.first(el)
- .last() 描述:選擇DOM元素的最後一個子元素
用法一:.last(el, selector) 用法二:.last(el)
- .eq() 描述:選擇第幾個子元素
用法:.eq(el, index) 引數: el (型別:Element):DOM元素 index (型別:String | Number):索引值
.not() 描述:根據排除選擇器選擇子元素 用法:.not(el, selector)- .prev() 描述:選擇相鄰的前一個元素
用法:.prev(el)
- .next() 描述:選擇相鄰的下一個元素
用法:.next(el)
- .contains() 描述:判斷某一個元素是否包含目標元素
用法:.contains(parentEl, targetEl)
- .closest() 描述:根據選擇器匹配最近的父元素 用法:.closest(el, selector)
屬性操作[編輯原始碼]
- .attr()描述:獲取或設定DOM元素的屬性
用法一:.attr(el, name, value) 設定屬性值 用法二:.attr(el, name) 獲取屬性值
- .removeAttr() 描述:移除DOM元素的屬性
用法:.removeAttr(el, name)
- .hasCls() 描述:DOM元素是否含有某個className
用法:.hasCls(el, cls)
- .addCls() 描述:為DOM元素增加className
用法:.addCls(el, cls)
- .removeCls() 描述:移除指定的className
用法:.removeCls(el, cls)
- .toggleCls() 描述:切換指定的className
用法:.toggleCls(el, cls)
- .val() 描述:獲取或設定常用 Form 表單元素的 value 值
用法一:.val(el, val) 設定表單元素value值 用法二:.val(el) 獲取表單元素value值
文件操作[編輯原始碼]
- .remove() 描述:移除DOM元素
用法:.remove(el)
- .prepend() 描述:在DOM元素內部,首個子元素前插入HTML字串
用法:.prepend(el, html)
- .append() 描述:在DOM元素內部,最後一個子元素後面插入HTML字串
用法:.append(el, html)
- .before() 描述:在DOM元素前面插入HTML字串
用法:.before(el, html)
- .after() 描述:在DOM元素後面插入HTML字串
用法:.after(el, html)
- .html() 描述:獲取或設定DOM元素的innerHTML
用法一:.html(el, html)設定innerHTML 用法二:.html(el) 獲取innerHTML
- .text() 描述:設定或者獲取元素的文字內容
用法一:.text (el, txt) 用法二:.text (el)
CSS操作[編輯原始碼]
- .offset() 描述:獲取元素在頁面中的位置與寬高,(此為距離頁面左側及頂端的位置,並非距離視窗的位置)
用法:. offset (el) 引數:el(型別:Element):DOM元素 返回值:該元素的位置(left,top)及寬高(width,height),返回值是json型別的,包括l,t,w,h屬性 示例: var offset = $api.offset(el); var left = offset.l; var top = offset.t; var width = offset.w; var height = offset.h;
- .css() 描述:設定所傳入的DOM元素的樣式,可傳入多條樣式
用法:.css (el, css) 引數: el(型別:Element):DOM元素 css(型別:String):想要設定的CSS樣式 示例: $api.css(el,'width:800px;border:1px solid red');
- .cssVal() 描述:獲取指定DOM元素的指定屬性的完整的值,如800px
用法:. cssVal (el, prop) 引數: el(型別:Element):DOM元素 prop(型別:String):CSS屬性 返回值:完整的CSS屬性值 示例: $api.cssVal(el,'width'); // => 800px
資料操作[編輯原始碼]
- .trim() 描述:去掉字串首尾空格
- .trimAll() 描述:去掉字串所有空格
- .isArray() 描述:判斷物件是否為陣列
- .jsonToStr() 描述:將標準的JSON 物件轉換成字串格式
用法:. jsonToStr (json) 引數:json(型別:JSON) 返回值:轉換後的字串 示例: var json = {a:111, b:222}; $api.jsonToStr(json); // => "{"a":111,"b":222}"
- . strToJson () 描述:將JSON字串轉換成JSON物件
用法:. strToJson (str) 引數:str(型別:String):JSON字串 返回值:JSON物件 示例: var a = '{"a":"111", "b":"222"}'; $api.strToJson(a); // => Object {a: "111", b: "222"}
- .setStorage() 描述:設定localStorage資料
用法:. setStorage (key,value) 引數: key(型別:String):鍵名 value(型別:任意型別):值 示例: $api.setStorage('name','Tom');
- .getStorage() 描述:獲取localStorage資料,必須與$api.setStorage()配套使用
用法:. getStorage(key) 引數:key(型別:String):鍵名 返回值:localStorage中與鍵名對應的值 示例: $api.getStorage('name'); // => "Tom"
- .rmStorage() 描述:清除localStorage中與鍵名對應的值
用法:. rmStorage(key) 引數:key(型別:String):鍵名 示例: $api.rmStorage('name')
- .clearStorage () 描述:清除localStorage的所有資料,慎用
用法:. clearStorage () 示例: $api.clearStorage ();
事件[編輯原始碼]
- addEvt() 描述:為DOM元素繫結事件
用法:.addEvt(el, name, fn, useCapture) 引數: el (型別:Element):DOM元素 name (型別:String):事件型別 fn (型別:Function):事件回撥 useCapture (型別:Boolean):事件捕獲,預設為 false
- .rmEvt() 描述:移除DOM元素繫結的事件
- .one() 描述:為DOM元素繫結事件,事件只執行一次
用法:.one(el, name, fn, useCapture)
AJAX[編輯原始碼]
- .get() 描述:api.ajax()方法的get方式簡寫
用法:.get(url,fnSuc,dataType)
引數:
url (型別:String) : url(必傳引數)
fnSuc (型別:Function):成功回撥函式(可選引數)
dataType(型別:String):返回值的型別(可選引數),有text與json兩種型別,預設為json
返回值:根據dataType在成功回撥函式裡返回相應資料
示例:
$api.get('http://www.pm25.in/api/querys/pm2_5.json?city=beijing&token=5j1znBVAsnSf5xQyNQyq',function(ret){
alert(ret);
},'text');
- .post() 描述:api.ajax()方法的post方式簡寫
用法:.post(url,data,fnSuc,dataType)
引數:
url (型別:String) :url(必傳引數)
data(型別:JSON): 可以有body:請求體(字串型別)values:post引數(JSON物件)
files:post檔案(JSON物件)等引數(可選引數)
fnSuc (型別:Function):成功回撥函式(可選引數)
dataType(型別:String):返回值的型別(可選引數),有text與json兩種型別,預設為json
返回值:向url地址傳送ajax請求,併發送資料data,根據dataType在成功回撥函式返回相應資料
示例:
$api.post('http://192.168.1.233:4321/getString',{
body: 'String'
},function(ret){
alert(ret);
},'text');
效果[編輯原始碼]
- .toast() 描述:延時提示框
用法:.toast(title,text,time) 引數: title (型別:String) : 標題(可選引數) text(型別:String):內容(可選引數) time(型別:Number):延時的時間(可選引數),單位為毫秒,預設值為500 示例: $api.toast('你好啊'); $api.toast(2000); $api.toast('你好啊',2000); $api.toast('你好啊','hello'); $api.toast('演示','延時提示框',1000);
裝置適配[編輯原始碼]
- .fixIos7Bar() 描述:適配iOS7+系統狀態列,為傳入的DOM元素增加20px的上內邊距
用法:.fixIos7Bar(el) 引數:el (型別:Element) : DOM元素 備註:自動識別iOS7+,避免應用與狀態列重疊,無法跟config.xml裡面的 <preference name="iOS7StatusBarAppearance" value="false" /> 一起使用。 示例: var header = document.querySelector('#header'); $api.fixIos7Bar(header);
- .fixStatusBar() 描述:適配iOS7+、Android4.4+系統狀態列,為傳入的DOM元素增加適當的上內邊距,避免header與狀態列重疊
用法:.fixStatusBar(el) 引數:el (型別:Element) : DOM元素 備註:自動識別iOS7+,避免應用與狀態列重疊,無法跟config.xml裡面的 <preference name="statusBarAppearance" value="false" /> 一起使用。 示例: var header = document.querySelector('#header'); $api.fixStatusBar(header);