jQueryjavascript
若是用戶未登陸,當加入購物車,會將商品相關信息存入 cookie 或者 session,這兩個都是能夠標識用戶信息的東西css
是一個 JavaScript 庫,封裝了經常使用的開發功能,和一些須要的方法,來提升開發效率。html
$("ul li").text(); // 只會打印第一個 li 的文本內容
:header 選中標題元素 :animated 正在繪製動畫效果的元素 :lang("en") lang="en" 的元素 :first :last :nth-child(1) 第一個元素索引是 1 :nth-last-child(1) 最後一個元素索引是 1 :parent 全部父元素
:lt(3) 在同時調用 lt 和 gt 時,正確順序是 :lt(5):gt(3) 選中小於 5,大於 3 的 jQuery 對象
:gt(3)
:has(":checked") :checked :selected :enable :disable :input :text :password :radio :checkbox :submit :image :reset :file
$("ul li").length;
$("ul li").size();
$("table tr")[0];
$("table tr").get(0);
$("tr.current").index(); // 在同輩兄弟元素中的索引 $("#ulList li").index( $ele ); // 在包裝集中的索引
("table tr").add("#ulList li");
("table tr").not(".lastTr");
("table tr").filter(".current"); // 獲得 class=current 的 tr 元素 ("table tr").filter(func); // 每一個元素都執行func,刪除返回 false 的元素
// 傳入 start, end 返回元素不包括 end $("#ulList li").slice(1, 3); // 獲得索引 1 2 的 li
$("ul").find("li.current"); // ul li.current 元素被選中
區別於
$("ul").has("li.current"); // 後代元素中有 li.current 的 ul 被選中
$("#ulList li").contains("kjf"); // 返回 文本內容中包含 kjf 的元素
$("li.current").parent(); .parents(); .children(); .siblings(); .contents(); 得到匹配元素集合中 每一個元素的子節點,包括文本和註釋節點 .first(); .last(); .next(); .nextAll(); .prev(); .prevAll(); .eq();
1. 下載 jQuery-1.12.4.js 放到 js 文件夾下面java
jquery-1.12.4.js // 具備代碼編程規範,即代碼能夠看,有註釋 jquery-1.12.4-min.js // 由以上 js 代碼壓縮,去掉了無關空格,換行,註釋,變量命名更短 網頁加載速度更快
2. index.html 導入 js 庫jquery
<script type="text/javascript" src="./js/jquery-1.12.4.js"></script> // HTML5 已將 JavaScript 設置爲默認腳本語言,可以下編寫 <script> // js代碼 </script>
3. 將 js 代碼寫在 DOM加載完成事件處理函數中。ajax
$(function(){ // js 代碼 });
以上代碼等同於編程
$(document).ready(function(){ // js 代碼
// 此代碼會在 頁面 DOM 加載完成後 觸發 DOMContentLoaded 事件 而執行,而不用等待圖片加載完成。。。
// 能夠寫多個 $(function(){}); 且都會執行
// 優於 window.onload() , load事件 必需要等到頁面全部資源都加載完成纔會觸發
// window.onload(); 若是寫多個,則只會生效最後一個 });
還等同於
$().ready(function(){
// js 代碼 jQuery 默認參數是 document
});
// 一個網頁的加載順序是:
// 1. 域名加載
// 2. HTML 加載 DOM 這裏加載完了就觸發 DOMContentLoaded 事件
// 3. 加載 js、css
// 4. 加載圖片、視頻等等資源, 這裏加載完了就觸發 load 事件
// 用法 document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false);
$.each(arr, function(index, eleVal){ console.log("arr["+index+"] : "+eleVal); });
$.trim(" 哈啊 "); // "哈啊"
$.type(jQuery); // "object" 證實 jQuery 也是一個對象
$.isArray( $("#content") ); // false 證實 jQuery 的 css選擇器獲得的是 類數組對象
$.isFunction(jQuery); // true 證實 jQuery 也是一個函數
for(var eleIndex in aObj ){ console.log(aObj[eleIndex]); }
// 或者
arr.forEach(eachValue, index, self){};
jQuery(); //等價於 $();
var myJQ = jQuery.noConflict(); // 此行如下代碼, myJQ(); 等同於 jQuery();
此行代碼之後,$ 就能夠供其餘庫調用了。數組
var $firstA = $("#content a:nth-child(1)");
$("#content a:first")[0]; // 返回對應 DOM 對象 由於 jQuery 使用 css 選擇器獲取元素時,老是返回一個類數組對象,成員爲獲取到的一個或多個元素 // 或者 $firstA[0]; // 返回對應 DOM 對象 // 或者 $("#content a:first").get(0); $firstA.get(0);
.prop("checked", true);瀏覽器
.prop("checked", false);cookie
$("input:checked").prop("checked", false); $("input:checked").prop("selected", false); $("input:checked").prop("disable", false); $("input:checked").prop("enable", false);
// content 支持設置 $("#box").height(); $("#box").width(); // content+padding 不支持設置 $("#box").innerHeight(); $("#box").innerWidth(); // content+padding+border 不支持設置 $("#box").outerHeight(); // 若是傳入 true 則獲取 content + padding+border+margin $("#box").outerWidth(true);
$("#box").offset().top; $("#box").offset().left;
$("#box").offset({ top: 100, left: 200 });
$("#box").position().top;
$("#box").position().left;
$("#box").position({ top: 100, left: 200 });
// <body> <div id="box"> 我是一個div </div> </body>
$("#box").remove();
// <body> </body>
// <p>哈哈哈哈哈</p> $("p").empty(); // <p></p>
$("#ulList").on("click", "li", function(){ alert("I am "+ $(this).text() ); });
$("#box").trigger("click");
$("#box").click(); // 單擊時 觸發 $("#box").dbclick(); // 雙擊時 觸發 $("#box").blur(); // 元素失去焦點時 觸發 $("#box").focus(); // 元素獲取焦點時 觸發 $("#box").focusIn(); // 元素獲取焦點瞬間 觸發 $("#box").focusOut(); // 元素失去焦點瞬間 觸發 .keypress([data], func); 沒插入一個字符時 觸發 .keydown([data], func); 按鍵按下 觸發 .keyup([data], func); 按鍵 鬆開觸發 $("input:text").select(); // 當文本內容被選中時 觸發 $("textarea").select(); // 當文本內容被選中時 觸發 $("input:text").change(); // 當值發生改變,失去焦點時 觸發 $("textarea").change(); // 當值發生改變,失去焦點時 觸發 $("select").change(); // 選中某選項時 觸發 // 點擊提交時觸發 $("#form_one").submit(function(){ return false; // 阻止瀏覽器默認行爲:阻止提交表單 }); .resize([data], func); 當調整瀏覽器窗口大小時 觸發
$('#message').animate( { left: '650px', opacity: 0.5,
backgroundColor: skyblue, fontSize: '24px' }, 1500, 'linear' );
清除動畫隊列:
$("#box").stop(true, true); // 第一個 true 清除動畫隊列裏的動畫 // 第二個 true 馬上到執行完畢狀態
$("#box").before("<p>Hello World</p>");
$("#box").after("<p>Hello World</p>");
.text(); 文本內容
.html(); 源碼內容
.value(); 值