$( "p" ) .append( $( "input" ).map(function() { return $( this ).val(); }) .get() .join( ", " ) );
<form> <input type="text" name="name" value="John"> <input type="text" name="password" value="password"> <input type="text" name="url" value="http://ejohn.org/"> </form>
這是我從官網拿出來的一個example
本人曾經很困惑,不明白為什么在map方法的后面要在調用一個get方法。按照理論來說,map 返回出來的數據應該一個數組(集合)。 可以直接調用join方法轉化為string.
仔細閱讀文檔后發現這里有文章。
我原來混淆的javascript object/array(其實就是dom) 和jqeruy object/ array這兩個概念
其實javascript的對象和數組和jquery的是相互不能識別的。
當我發現了這個”秘密“之后,就大概明白為什么需要get 方法了
.get(): Retrieve the DOM elements matched by the jQuery object.
這是官網的定義。就是把jquery 對象轉為dom 對象。 所有的dom對象都是可以被javascript所使用的。這里jquery其實就是通過get這個機制來順利過渡兩者。
所以我們回頭看上面這個例子
map 返回了jquery array 然后通過get方法轉為javascript dom array。 最后調用join方法變為string.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。