摘要:與有著絕大部分類似的,通用庫只有,手機上每一都是錢。目前及的最新版已經支持。在這個函數中,原來的對象是無效的。與方法相同,接受一個標準格式的字符串,并返回解析后的對象。這有點像,但是是相反的方式。
[JSLite.io]
如有疑問歡迎到這些地方交流,歡迎加入JSLite.io組織團伙共同開發!
QQ交流群:397463673
segmentfault社區 | 官方網站 | 官方文檔-更詳細 | Issues
瀏覽器兼容jQuery 的目標是兼容所有主流瀏覽器,這就意味著它的大量代碼對移動端的瀏覽器是無用或者低效的。
而 JSLite 只針對先進瀏覽器(支持HTML5,CSS3)、移動端瀏覽器編寫,使用js新方法實現jQuery API,因此體積更小、效率更高.
更重要的是,JSLite 的 API 完全仿照 jQuery ,所以學習成本也很低。
JSLite與jQuery有著絕大部分類似的api,通用庫只有5-10k,手機上每一kb都是錢。
讓web開發更迅速,下載執行更快、量級更輕,針對現代高級瀏覽器的JavaScript庫。 推進前端開發標準對于攻城師來說,人人有責。
此兼容,是根據我使用的一些js方法函數的支持情況來判斷的。設備過少,部分是根據developer.mozilla.org的方法函數兼容數據來判斷的,下面的我們的主要兼容目標
安裝 npmSafari 6+ (Mac)
Chrome 30+ (Windows, Mac, Android, iOS, Linux, Chrome OS)
Firefox 24+ (Windows, Mac, Android, Linux, Firefox OS)
iOS 5+ Safari
Android 2.3+ Browser
Internet Explorer 10+ (Windows, Windows Phone)
$ npm install jslite傳統方法
去官網下載JSLite,github download
頁面Head標簽內引用 JSLite.js
核心 $()選擇器使用的是瀏覽器自帶的方法的 document.querySelectorAll 接口,支持標準的 CSS 選擇器,沒有使用jQuery作者John Resig開發的DOM選擇器引擎(Dom Selector Engine) Sizzle 。目前 IE8/9及Firefox/Chrome/Safari/Opera 的最新版已經支持 querySelectorAll 。
$(selector) //? 選擇節點
$("") //? 生成節點
$("htmlString") //? 生成
JSLite(function($){ ... }) //? 相當于ready
$("#box") //? 返回節點數組 //? [JSLite()?…??] $("") //? 生成div節點 //JSLite(func) 相當于ready JSLite(function($){ console.log("在節點加載完成之后執行") }) //$(func) 相當于ready $(function($){ console.log("在節點加載完成之后執行") })
noConflict與$()相同。
noConflict() 方法讓渡變量 $ 的 JSLite 控制權,解決倆庫之間的$沖突。
該方法釋放 JSLite 對 $ 變量的控制。
該方法也可用于為 JSLite 變量規定新的自定義名稱。
$.noConflict(); JSLite(document).ready(function($) { // 使用 JSLite $ 的代碼 }); // 使用其他庫的 $ 的代碼
將 $ 引用的對象映射回原始的對象:
JSLite.noConflict(); JSLite("div p").hide(); // 使用 JSLite $("content").style.display = "none"; // 使用其他庫的 $()
恢復使用別名 $,然后創建并執行一個函數,在這個函數的作用域中仍然將 $ 作為 JSLite 的別名來使用。在這個函數中,原來的 $ 對象是無效的。這個函數對于大多數不依賴于其他庫的插件都十分有效:
JSLite.noConflict(); (function($) { $(function() { // 使用 $ 作為 JSLite 別名的代碼 }); })(JSLite); ... // 其他用 $ 作為別名的庫的代碼
可以將 JSLite.noConflict() 與簡寫的 ready 結合,使代碼更緊湊
JSLite.noConflict()(function(){ // 使用 JSLite 的代碼 console.log($("div")) });
創建一個新的別名用以在接下來的庫中使用 JSLite 對象:
var j = JSLite.noConflict(); j("#box").hide(); // 基于 JSLite 的代碼 $("content").style.display = "none"; // 基于其他庫的 $() 代碼
完全將 JSLite 移到一個新的命名空間:
var dom = {}; dom.jslite = JSLite.noConflict(true);
結果:
dom.jslite("div p").hide(); // 新 JSLite 的代碼 $("content").style.display = "none"; // 另一個庫 $() 的代碼 JSLite("div > p").hide(); // 另一個版本 JSLite 的代碼插件編寫 $.extend
通過源對象擴展目標對象的屬性,擴展 JSLite 元素集來提供新的方法(通常用來制作插件)
$.extend({ min: function(a, b) { return a < b ? a : b; }, max: function(a, b) { return a > b ? a : b; } }); $.min(2,3); //? 2 $.max(4,5); //? 5 // 在$上擴展了幾個方法 //調用方法 $.min(2,3); //? 2 //調用方法 $.max(4,5); //? 5$.fn.extend
擴展 JSLite 元素集來提供新的方法(通常用來制作插件)。
$.fn.extend({ //增加兩個插件方法。 check: function() { return this.each(function() { this.checked = true; }); }, uncheck: function() { return this.each(function() { this.checked = false; }); } }); $("input[type=checkbox]").check(); //選中 $("input[type=radio]").uncheck(); //取消選中$.error
當元素遇到錯誤(沒有正確載入)時,發生 error 事件。
$.error("2222") //? 輸出錯誤 Uncaught 2222字符串處理 $.trim
去掉字符串起始和結尾的空格。
$.trim(" hello, how are you? ");//? "hello, how are you?"trim
同上,去掉字符串起始和結尾的空格。
" hello, how are you? ".trim()//? "hello, how are you?"URL $.getUrlParam
獲取 url 參數的值。
//[URL] = http://blog.pc175.com/?param=2 $.getUrlParam("param") //? 2$.param
將表單元素數組或者對象序列化。如果shallow設置為true,嵌套對象不會被序列化,嵌套數組的值不會使用放括號在他們的key上。
$.param(object, [shallow]) ? string
$.param(array) ? string
$.param({ foo: {one: 1,two: 2 } }) //? "foo[one]=1&foo[two]=2" $.param({ ids:["a1","b2","c3"], c:{g:23,e:[567]}, a:3 },true) //? ids=a1&&ids=b2&&ids=c3&&c=[object Object]&a=3 $.param({ ids:["a1","b2","c3"], c:{g:23,e:[567]}, a:3 }) //? ids[]=a1&&ids[]=b2&&ids[]=c3&&c[g]=23&&c[e]=567&&a=3 $.param([1,2,3]) //? 0=1&&1=2&&2=3 $.param({ ids:[1,2,3] }) //=> "ids[]=1&ids[]=2&ids[]=3"數組對象操作 最大(小)值
//順帶小教程 //獲取最大值最小值 var a=[1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(Math.min.apply(null, a));//最小值 var a=[1,2,3,[5,6],[1,4,8]]; var ta=a.join(",").split(",");//轉化為一維數組 console.log(Math.max.apply(null,ta));//最大值 console.log(Math.min.apply(null,ta));//最小值$.intersect
數組交集
$.intersect([1,2,3,"asdkjf"],[2,3,6,"asdkjf"]) //? [2, 3, "asdkjf"]concat
合并,有可能會重復
[1,2].concat([1,5,6]) //? [1, 2, 1, 5, 6] $("#box").concat($("[type=submit]")[0]) //與下面一樣 合并到一起了 $("#box").concat($("[type=submit]"))$.unique
刪除數組中重復元素。
$.unique([1,2,12,3,2,1,2,1,1,1,1]) //? [1, 2, 12, 3] var arr = $("#box").concat($("#box")) //兩個一模一樣的數組 $.unique(arr) //去重$.sibling
根據類型獲取節點對象屬性的集合 (node,type)。
$.sibling($("input"),"type") //? ["text", "button", "checkbox"] $.sibling($("input"),"tagName") //? ["INPUT"]$.inArray
搜索數組中指定值并返回它的索引(如果沒有找到則返回-1)。
var arr = [ 4, "Pete", 8, "John" ]; $.inArray("John", arr); //? 3 $.inArray(4, arr); //? 0 $.inArray("David", arr); //? -1 $.inArray("Pete", arr, 2); //? -1$.map
通過遍歷集合中的節點對象,通過函數返回一個新的數組,null 或 undefined 將被過濾掉。
$.map({"w":1,"c":2,"j":3},function(idx,item){ return item }); //? ["w", "c", "j"]$.each
通用例遍方法,可用于例遍對象和數組
$.each(["a", "b", "c"], function(index, item){ console.log("item %d is: %s", index, item) })$.grep
使用過濾函數過濾數組元素。
$.grep( [0,1,2], function(n,i){ return n != 0; });$.parseJSON
測試操作 $.isDocument與 JSON.parse 方法相同,接受一個標準格式的 JSON 字符串,并返回解析后的 JavaScript 對象。
判斷對象是否為【document】。
$.isDocument(document) //? true$.isWindow
$.isFunction確定參數是否為一個窗口(window對象),如果是則返回true。這在處理iframe時非常有用,因為每個iframe都有它們自己的window對象,使用常規方法obj==window校驗這些objects的時候會失敗。
判斷對象是否為函數【function】。
$.isFunction(function(){}) //? true$.isObject
判斷是否為 Object 。
$.isObject({}) //? true$.isPlainObject
$.isPlainObject(object) ? boolean
如果通過 "{}" 或者 "new Object" 創建的則返回true。判斷對象是否是純粹的對象。
$.isPlainObject({}) // => true $.isPlainObject(new Object) // => true $.isPlainObject(new Date) // => false $.isPlainObject(window) // => false$.isArray
判斷是否為【數組】。
$.isArray([1,2,3]) //? true$.isJson
判斷是否為【數組】。
$.isJson({}) //? true$.contains
$.contains(parent, node) ? boolean
parent是否包含node節點對象。
$.isContainsNode($("#box")[0],$(".boxss")[0]) //? parent是否包含node節點對象$.likeArray
判斷對象是否為數組或者是字符。
$.likeArray([1,2,3]) //? true $.likeArray("222") //? true$.type
獲取JavaScript 對象的類型。可能的類型有: null undefined boolean number string function array date regexp object error 。
$.type(true) //? Boolean $.type("div") //? String$.matches
如果當前節點能被指定的css選擇器查找到,則返回true,否則返回false。
$.matches(element,selector) ? boolean
$.matches($("#box")[0], "#box")//? trueis
判斷當前匹配的元素集合中的元素,是否為一個選擇器,DOM元素
is(selector) ? boolean
is(element) ? boolean
$("#box").is("div"); //? true $("#box").is("#box"); //? true $("#box").is("#boxsss"); //? flase $("div").is($("#box")[0]) //? true 節點是否在 $("#box")[0] 是否再集合中對象訪問 each
遍歷一個 JSLite 集合對象,為每一個匹配元素執行一個函數。this關鍵字指向當前item(作為函數的第二個參數傳遞)。如果函數返回 false,遍歷結束。
$("img").each(function(i){ this.src = "test" + i + ".jpg"; }); //? 找到所有的img對象給設置src //? 返回 [ , ]map
遍歷節點對象集合中的所有節點對象返回一個新的集合對象
$(".box").map(function(index,item){ return $(this).text() }) //? 返回 ["12boxOne", "6", "11", "22123456", "7123123"]forEach
類似 each,forEach遍歷不會停止。
//遍歷數組 [1,5,2,3].forEach(function(item,index,array){ console.log(item,index,array) }) //遍歷節點 $("img").forEach(function(item,index,array){ console.log(item,index,array) })eq
指定匹配元素的集合為的索引的哪一個元素。一個整數,指示元素的位置,以 0 為基數。
eq(index) ? collection
eq(-index) ? collection
$("div").eq(0)//? 返回數組第一個節點數組 [div#box.boxOne.box2.box3, init: function…] $("div").eq(-1)//? 倒數第一個節點數組 $("div").eq(-2)//? 倒數第二個節點數組get
當前對象集合中獲取所有節點對象或單個節點對象。
$("div").get(0)//? 返回節點index
獲取一個元素的位置。當elemen參數沒有給出時,返回當前元素在兄弟節點中的位置。
.index() //對象中第一個元素相對于它同輩元素的位置
.index(selector)
.index(element)
$("#box").index()//? 4 $("div").index("#box")//? 2 $("div").index($("#box"))//? 2 $("div").index($("#box")[0])//? 2indexOf
在當前獲取的節點數組中獲取一個元素在這個數組的位置。
$("div").indexOf($("#box")[0]) //? 2length
對象中元素的個數。
$("img").length; //? 2HTML代碼/文本/值 text
取得所有匹配節點對象的文本內容。
$("#box").text() //? string 返回文本html
獲取或設置節點對象內容。
$("#box").html() //? string 返回包括HTML的文本val
獲取設置input的 value 。
$("input").val() //? string $("input").val("test") //? self $("#input").val(function(index,oldvalue){ console.log(index,oldvalue) return "111" + oldvalue }) //? self節點屬性 pluck
獲取對象集合中每一個元素的屬性值。
$("#box").pluck("nodeName") //? ["DIV"] $("#box").pluck("nextElementSibling") //?attr1234567890$("#box").pluck("children") //? [HTMLCollection[4]]
讀取或設置dom的屬性。
$(".button").attr({"class":"","style":"background:red"}) //? self 設置紅色清空class $(".button").attr("class","name") //? self 設置class替換之前的 $(".button").attr("class") //? string 獲取class屬性值removeAttr
移動當前對象集合中所有元素的指定屬性。
$("#box").removeAttr("class") //? self 移除classCSS 類 css
獲取或設置節點對象的style樣式內容。
$("#box").css("color","yellow") //? self 返回Array 節點內容 $("#box").css({"color":"yellow"}) //? self 返回Array 節點內容hasClass
集合中是否有節點對象含有指定的class。
$("#box").hasClass("box2") //? trueaddClass
為每個匹配的節點對象添加指定的class類名。
$("#box").addClass("box23 go") //? self 原有對象class上添加 box23和 go $("#box").addClass(function(){ return "box23 wcj" }) //? self 原有對象class上添加 box23 和wcjremoveClass
清除節點對象中所有節點對象的指定class類名,不填寫清空。
$("#box").removeClass("box23") //? self 刪除原有對象class中box23 $("div").removeClass() //? self 所有匹配的對象class屬性被刪除toggleClass
在匹配的節點對象集合中的每個節點對象上添加或刪除一個或多個樣式類。
$("#box").toggleClass("box1 box2") //? self 原有對象class上添加 "box1 box2"或者刪除"box1 box2"效果 toggle
顯示或隱藏匹配節點對象。
$("#box").toggle() //? self 原有對象如果隱藏就顯示,如果顯示就隱藏。show
顯示匹配節點對象。
$("#box").show() //? self 顯示匹配節點對象hide
隱藏匹配節點對象。
$("#box").hide() //? self 隱藏匹配的對象尺寸位置 offset
獲得當前元素相對于document的位置。返回一個對象含有:left|top|width|height
$("#box").offset() //?Object {left: 8, top: 8, width: 1260, height: 0} $("#box").offset().left //? 8width
width() ? number
width(value) ? self
width(function(index, oldWidth){ ... }) ? self
獲取對象象集合中第一個元素的寬,或設置對象集合所有元素的寬。
$("#box").width() // => 342 $(window).width() // => 456 (可視區域寬度) $(document).width() // => dsfheight
height() ? number
height(value) ? self
height(function(index, oldWidth){ ... }) ? self
獲取對象象集合中第一個元素的高,或設置對象集合所有元素的高。
$("#box").height() // => 342 $(window).height() // => 456 (可視區域高度) $(document).height() // => dsf過濾 filter
篩選出與指定表達式匹配的元素集合。filter(selector) 。
$("div").filter("#box") //? self 在所有的div對象中選擇器為 #box 的過濾出來。not
not(selector) ? collection
not(collection) ? collection
not(function(index){ ... }) ? collection
篩選出與 非 指定表達式匹配的元素集合。它的作用剛好與 filter 相反,返回。
$("#select option").not(function(idx){ console.log(this.selected) return this.selected }) //? [] $("input").not("#input") //? 返回除去 匹配到的#input $("input").not(function(){ console.log(this.type) return this.type=="text" })刪除節點 empty
所有匹配節點對象集合中移除所有的dom子節點,不包括自己,清空內容。
$("#box").empty() //? selfremove
刪除所有匹配節點對象【自己】及所有【自己】里面的內容。
$("#box").remove() //? selfdetach !
被遺棄的方法(不建議使用),作用跟remove一樣,所有綁定的事件、附加的數據等都會保留下來。
$("#box").click(function(){ console.log("wcj") }) var a = $("#box").detach();//刪除的對象賦給a $("body").append(a)//將a添加到 body 中還是可以點擊查找節點 find
后代節點的集合(可以帶上濾選擇器)。
$("#box").find() //?后代節點的集合 $("#box").find(".box") //?后代節點的集合,返回匹配".box" 的集合children
獲得每個匹配元素集合元素的直接子元素(可以帶上濾選擇器)。
$("#box").children() //下面這種方法也可以的 CSS3 節點選擇器 -_+ $("#box *")contents
contents() ? collection
獲得每個匹配元素集合元素的子元素,包括文字和注釋節點。
$("#box").contents()parent
對象集合中每個元素的直接父元素。
$("#box").parent()parents
獲取對象集合每個元素所有的祖先元素(不包含根元素)。
parents([selector]) ? collection
$("#box").parents() $("#boxWhy").parents(".boxss")closest
從元素本身開始,逐級向上級元素匹配,并返回最先匹配selector的祖先元素。如果context節點參數存在。那么直考慮該節點的后代。這個方法與 parents(selector)有點相像,但他只返回最先匹配的祖先元素。
$("#box").closest("div") $(document).bind("click", function(e) { console.log(e.target)//當前點擊的對象 $(e.target).closest("li").css("background","red"); }); $("#boxWhy").closest(".boxss",$("#box")[0])//#boxWhy節點的父節點為:"$("#box")[0]"的子節點".boxss"prev
獲取對象集合每個元素的所有上一個對象(可以帶上濾選擇器)。
$("#box").prev("div")next
獲取對象集合每個元素的所有下一個對象(可以帶上濾選擇器)。
$("#box").next("div")prevAll
獲取對此對象【上】所有兄弟對象(可以帶上濾選擇器)。
$("#box").prevAll("div")nextAll
獲取對此對象【下】所有兄弟對象(可以帶上濾選擇器)。
$("#box").nextAll("div")siblings
獲取對此對象【其它】所有兄弟對象(可以帶上濾選擇器)。
$("#box").siblings()add
添加元素到匹配的JSLite對象集合
$("#box").siblings()插入節點方法 prepend
插入到標簽開始標記之后(里面的第一個)。
prepend(content) ? self
prepend(Function) ? self
$("#box").prepend("dd") //? self $("#box").prepend(function(){ return "asdfasdf" }) //? selfprependTo
將生成的內容插入到匹配的節點標簽開始標記之后。這有點像prepend,但是是相反的方式。
prependTo(selector) ? self
$("appendtest").prependTo("#box")
插入到標簽結束標記前(里面的結尾)。
append(content) ? self
append(Function) ? self
$("#box").append("dd") //? self $("#box").append(function(){ return "asdfasdf" }) //? selfappendTo
appendTo(selector) ? self
將生成的內容插入到匹配的元素標簽結束標記前(里面的最后)。這個有點像append,但是插入的目標與其相反。
$("aftertest").appendTo("#box")
插入到標簽結束標記后。(兄弟節點的下面)
after(content) ? self
after(Function) ? self
$("#box").after("dd") //? self $("#box").after(function(){ return "asdfasdf" }) //? selfinsertAfter
插入的對象集合中的元素到指定的每個元素后面的dom中。這個有點像 after,但是使用方式相反。
insertAfter(selector) ? self
$("beforetest
").insertAfter("#box") //? self $("#input").insertAfter("#box") //? self $("#input")
插入到標簽開始前。
after(content) ? self
after(Function) ? self
$("#box").before($("input")) //? self $("#box").before(function(){ return "asdfasdf" }) //? selfinsertBefore
insertBefore(selector) ? self
將生成的內容插入 selector 匹配的節點標簽開始前。這個有點像 before,但是使用方式相反。
$("clonetest
").insertBefore("#box")
clone() ? collection
通過深度克隆來復制集合中的所有元素。(通過原生 cloneNode 方法深度克隆來復制集合中的所有元素。此方法不會有數據和事件處理程序復制到新的元素。這點和jquery中利用一個參數來確定是否復制數據和事件處理不相同。)
$("body").append($("#box").clone())事件處理
blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error 對象上直接添加事件。
$("#box").click(function(){ console.log("綁定點擊事件") });ready
ready(function($){ ... }) ? self
添加一個事件偵聽器,當頁面 dom 加載完畢 DOMContentLoaded 事件觸發時觸發。加載完畢執行,建議使用 $(func) 來代替這種用法。
$(document).ready(function(){ alert("當頁面dom加載完畢執行"); console.log($("#box")); })$(func)
加載完畢執行。與 ready 方法相同
//或者使用下面方法代替ready $(function(){ console.log("當頁面dom加載完畢執行"); })bind
為每個匹配元素的特定事件綁定事件處理函數。可以綁定這些事件 blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error paste drop dragover 。
$("#box").bind("click", function(){ console.log("綁定點擊事件") });unbind
解除綁定事件,從每一個匹配的節點對象中刪除綁定的事件。
var f1=function(){alert("41");} $("#box").bind("click",f1) //? 綁定事件 $("#box").unbind("click",f1) //? 解除綁定事件 $("#box").bind("click",function(){alert("41");}) //? 綁定事件 $("#box").unbind("click",function(){alert("41");}) //? 解除綁定事件on
為每個匹配元素的特定事件綁定事件處理函數。可以綁定這些事件 blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error paste drop dragover 。
$("#box").on("click", function(){ console.log("綁定點擊事件") }); $("#box").on("click mouseover",function(evn){ console.log("2"+evn) }) //? self 綁定兩個事件 $("#box").on("click",{val:1},function(){//傳參數 console.log("ffffdd","event.data.val = " + event.data.val) }) $( "#box" ).on({ //綁定多個事件 click: function() { $( this ).css("background","red"); }, mouseover: function() { $( this ).css("background","yellow") }, mousedown: function() { $( this ).css("background","green") } });off
解除綁定事件,從每一個匹配的節點對象中刪除綁定的事件。
var f1=function(){alert("41");} $("#box").on("click",f1) //? 綁定事件 $("#box").off("click",f1) //? 解除綁定事件 $("#box").on("click",function(){alert("41");}) //? 綁定事件 $("#box").off("click",function(){alert("41");}) //? 解除綁定事件trigger
trigger(event, [args]) ? self
匹配到的節點集合的元素上觸發指定的事件。如果給定args參數,它會作為參數傳遞給事件函數。
$("#box").on("abc:click",function(evn,a,c){ console.log("2"+a+c) }) //? self 綁定一個事件 $("#box").trigger("abc:click",["wwww"]) //? self 觸發并傳一個參數進去Ajax
$.get執行Ajax請求。
type:請求方法 ("GET", "POST")
data:(默認:none)發送到服務器的數據;如果是get請求,它會自動被作為參數拼接到url上。非String對象
processData (默認: true): 對于非Get請求。是否自動將 data 轉換為字符串。
dataType:(json, jsonp, xml, html, or text)
contentType:一個額外的"{鍵:值}"對映射到請求一起發送
headers:(默認:{}): 一個額外的"{鍵:值}"對映射到請求一起發送
url:發送請求的地址
async:此參數不傳默認為true(同步請求),false異步請求
success(cdata):請求成功之后調用。傳入返回后的數據,以及包含成功代碼的字符串。
error(status, statusText):請求出錯時調用。 (超時,解析錯誤,或者狀態碼不在HTTP 2xx)。
$.get(url, function(data, status, xhr){ ... }) ? XMLHttpRequest
$.get(url, [data], [function(data, status, xhr){ ... }], [dataType]) ? XMLHttpRequest
$.get("http://127.0.0.1/api.php?wcj=123", function(cdata) { console.log("ok", cdata) },"json") $.get("http://127.0.0.1/api.php?wcj=123",{"JSLite":4}, function(cdata) { console.log("ok", cdata) })$.ajax(GET)
$.ajax("GET", "http://127.0.0.1/api.php", {"wcj":"123","ok":"11"},function(cdata) { console.log("ok", cdata) })
$.ajax({ type:"GET", dataType:"json", data:{"nike":"a"}, url:"http://127.0.0.1/api.php", success:function(data){ console.log("success:",data) }, error:function(d){ console.log("error:",d) } })$.post
$.post(url, [data], function(data, status, xhr){ ... }, [dataType])
$.post("http://127.0.0.1/api.php", {"nike":0}, function(cdata) { console.log("ok", cdata) })$.ajax(POST)
var data = { "key": "key", "from": "from"} $.ajax("POST", "http://127.0.0.1/api.php", data,function(data) { console.log("ok", data) },"json")
$.ajax({ type:"POST", dataType:"json", data:{"nike":"123","kacper":{"go":34,"to":100}}, url:"http://127.0.0.1/api.php", success:function(data){ console.log("success:",data) }, error:function(d){ console.log("error:",d) } }) $.ajax({ type:"POST", dataType:"json", data:JSON.stringify("{"nike":"123","kacper":{"go":34,"to":100}}"), url:"http://127.0.0.1/api.php", success:function(data){ console.log("success:",data) }, error:function(d){ console.log("error:",d) } }) $.ajax({ type:"POST", dataType:"json", data:JSON.stringify({"nike":"a"}), url:"http://127.0.0.1/api.php", success:function(data){ console.log("success:",data) }, error:function(d){ console.log("error:",d) } }) $.ajax({ type:"POST", data:{"nike":"a"}, url:"http://127.0.0.1/api.php", success:function(data){ console.log("success:",data) }, error:function(d){ console.log("error:",d) } }) $.ajax({ type:"POST", dataType:"json", data:{"nike":"a"}, url:"http://127.0.0.1/api.php", success:function(data){ console.log("success:",data) }, error:function(d){ console.log("error:",d) }, headers: { "Access-Control-Allow-Origin":"http://pc175.com", "Access-Control-Allow-Headers":"X-Requested-With" }, contentType: "application/json" })Form
submit表單提交的一些方法
submit() 方法把表單數據提交到 Web 服務器。這個是原生態提供的方法,還沒有封裝更改 *。
$("form")[0].submit() //此處直接原生態提交表單,日后封裝,直接在JSLite對象上就可以提交。serializeArray
將用作提交的表單元素的值組合成擁有name和value的鍵值對組成的數組。不能使用的表單元素,buttons,未選中的radio buttons/checkboxs 將會被跳過。結果不包含file inputs的數據。
$("form").serializeArray(); //=> [{"name":"golang","value":"456"},{"name":"name","value":""},{"name":"password","value":""},{"name":"sel","value":[]},{"name":"kaikai","value":""},{"name":"w","value":""},{"name":"w","value":""}]serialize
將表單元素數組或者對象序列化。
$("form").serialize(); //=> golang=456&name=&password=&sel=&kaikai=&w=asd&w2=asdf
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85459.html
摘要:極大地簡化了編程。與有著類似的,通用庫只有,手機上每一都是錢??梢酝ㄟ^下面的標記把添加到網頁中請注意,標簽應該位于頁面的部分。 簡介 JSLite 是一個 JavaScript 庫。 JSLite 極大地簡化了 JavaScript 編程。 JSLite 只針對先進瀏覽器支持(HTML5,CSS3)移動端瀏覽器編寫。 JSLite 使用js新方法實現j...
摘要:學習之前需要你有下面幾個方面的基本知識既然是模仿的自然語法是一模一樣的。語法實例演示函數,隱藏當前的元素。的基本語法語法是為元素的選取編制的,可以對元素執行某些操作。在本教程接下來的章節,您將學習到更多有關選擇器的語法。 學習 JSLite 之前需要你有下面幾個方面的基本知識 HTML CSS JavaScript JSLite 既然是模仿jQuery 的API自然...
摘要:討論和性能的文章并不罕見??焖黉秩竞晚憫馕吨玫挠脩趔w驗。附加事件處理程序的首選方法。糟糕建議高效使用子查詢緩存的父元素正如前面所提到的,遍歷是一項昂貴的操作。糟糕建議高效避免通用選擇符將通用選擇符放到后代選擇符中,性能非常糟糕。 討論jQuery和javascript性能的文章并不罕見。然而,我計劃根據他人對jQuery總結的一些速度方面的技巧和一些建議,來教你提升你的JSLit...
摘要:轉載大牛的分析,這將是的方向。域名分析據統計,目前全世界的網站使用它。的市場份額不斷下降,以為基礎的標準語法,正得到越來越廣泛的支持。下面就探討如何用標準語法,取代的一些主要功能,做到。 轉載大牛的分析,這將是JSLite的方向。前人栽樹后人乘涼,jQuery為我們制定了一套接口標準,我們繼續為此努力。域名:JSLite.io jQuery 分析 據統計,目前全世界57.3%...
摘要:中國互聯網絡信息中心發布的中國互聯網絡發展狀況統計報告顯示,截至年月,我國網民規模達億人,微信月活億支付寶月活億百度月活億另一方面,中國手機占智能手機整體的比例超過,月活約億。在年末正式發布了面向未來的跨端的。 開源中國專訪:Chameleon原理首發,其它跨多端統一框架都是假的? 原創: 嘉賓-張楠 開源中國 以往我們說某一功能跨多端,往往是指在諸如 PC、移動等不同類型的設備之...
閱讀 2107·2021-11-05 09:42
閱讀 2851·2021-09-23 11:21
閱讀 2841·2019-08-30 14:00
閱讀 3314·2019-08-30 13:15
閱讀 465·2019-08-29 17:18
閱讀 3547·2019-08-29 16:29
閱讀 2749·2019-08-29 14:06
閱讀 2794·2019-08-23 14:41