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(); 值