JQuery 第一章:Jquery概念介紹 1.1 Jquery介紹 (1)並不是一門新語言。將常用的、複雜的操作進行函數化封裝,直接調用,大大降低了使用JavaScript的難度,改變了使用JavaScript的習慣。 (2)常用插件網站:www.jq22.com (3)導入jquery插件兩種方 ...
JQuery
第一章:Jquery概念介紹
1.1 Jquery介紹
(1)並不是一門新語言。將常用的、複雜的操作進行函數化封裝,直接調用,大大降低了使用JavaScript的難度,改變了使用JavaScript的習慣。
(2)常用插件網站:www.jq22.com
(3)導入jquery插件兩種方法:
1、網上插件: <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
2、官網下載,本地導入: <script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
1.2 Jquery和JScript對比
JS的缺點:(1)選擇器功能弱;
(2)DOM操作繁瑣
(3)瀏覽器相容性不好
(4)動畫功能弱
Jq的優點:(1)有強大的選擇器
(2)DOM操作簡便
(3)瀏覽器相容性好
(4)有豐富的插件支持,強大的動畫效果
第二章:Jq的引入及js互相轉換
(1)獲取對象區別:
var varjs = document.getElementById("uname");
var varjq = $("#uname");
(2)js轉換為jq
var varjq = $(varjs);
(3)jq轉換為js
方法一:var varjs = varjq.get(0);
方法二:var varjs2 = varjq[0];
註:jq所有對象均為數組類型
val():返回或設置被選中元素的值,即value的值
第三章:JavaQuery常用選擇器
3.1 五種基本選擇器
(1)標簽選擇器
例如:$("div").css("color","red");
(2)Id選擇器
例如:$("#unameid")
(3)類選擇器
例如:$(".classname")
(4)通配選擇器
例如:$("*")
(5)組合選擇器
例如:$("#unameid,h3,.myclass");
3.2 四種層級選擇器
(1)後代選擇器
例如:$("#ul01 li").css("font-size","30px");
$("#ul01 li").css("color","blue");
(2)父子選擇器
例如:$("#div03 > h3")
(3)後面第一個兄弟元素
註:必須緊挨當前元素,中間不能 插入其他標簽
例如:$("#div03 + div").css("background-color","blue");
(4)後面所有兄弟元素
例如:$("#div03 ~ div").css("background-color","red");
3.3 七種屬性選擇器
(1)元素名[attribute]:包含一個屬性
例如:$("div[id]").css("background-color","red");
(2)元素名[attribute][attribute]:同時包含兩個屬性
例如:$("div[id][class]").css("background-color","gray");
(3)元素名[屬性=value]:一個屬性,且屬性名=xx值
例如:$("div[class=myclass]").css("color","gold");
(4)元素名[屬性!=value]:一個屬性,且屬性不等於value值
例如:$("div[class!=myclass]").css("background-color","aqua");
(5)元素名[屬性^=value]:一個屬性,以xx開頭
例如:$("div[class^=my]").css("background-color","black");
(6)元素名[屬性$=value]:一個屬性,以xx結尾
例如:$("div[class$=2]").css("background-color","black");
(7)元素名[屬性*=value]:包含xx值
例如:$("div[class*=c]").css("background-color","black");
3.4 九種位置選擇器
(1)匹配找到的第一個元素:first
例如:$("tr:first")
(2)匹配找到的最後一個元素:last
例如:$("tr:last")
(3)選擇除了xx之外的選擇器:not
例如: $("div:not(#div02)")
(4)匹配所有索引值為偶數的元素:even
註:從0開始計數
例如:$("tr:even")
(5)匹配所有索引值為奇數的元素:odd
註:從0開始計數
例如:$("tr:odd")
(6)匹配一個給定索引值的元素:eq(index)
例如: $("tr:eq(1)")
(7)匹配所有大於給定元素索引值的元素:gt(index)
註:不包括本索引代表的元素
例如: $("tr:gt(0)")
(8)匹配所有小於小於給定索引值的元素:lt(index)
註:不包括本索引代表的元素
例如: $("tr:lt("+($("tr").length-1)+")")
(9)匹配如h1、h2、h3之類的標題元素:header
例如:$(":header")
3.5 四種內容選擇器
(1)匹配包含給定文本的元素:contains(text)
例如:$("div:contains(div02)")
(2)匹配所有不包含子元素或文本的空元素:empty
例如: $("td:empty")
(3)匹配含有選擇器所匹配的元素的元素:has(selector)
例如:$("div:has(h1)")
(4)匹配含有子元素或者文本的元素:parent
例如:$("td:parent")
3.6 兩種可見性選擇器
<body> <table> <tr style="display:none"><td>Value 1</td></tr> <tr><td>Value 2</td></tr> </table> </body>
(1)匹配所有的不可見元素:hidden
例如:$("tr:hidden")
(2)匹配所有的可見元素:visible
例如:$("tr:visible")
3.7 四種子元素選擇器
(1)匹配相關子元素:nth-child()
例如:$("div h3:nth-child(odd)").css("color","#0000FF");
$("div h3:nth-child(even)").css("color","#0000FF");
$("div h3:nth-child(2n+1)").css("color","#0000FF");//n從0開始
(2)匹配第一個元素:first-child
例如:$("div h3:first-child").css("color","#0000FF");
(3)匹配最後一個元素:last-child
例如:$("div h3:last-child").css("color","#0000FF");
(4)匹配唯一一個子元素:only-child:
例如: $("div h3:only-child").css("color","#0000FF");
3.8 表單選擇器
(1)匹配所有的input、textarea、select、button元素: :input
例如:$(":input").addClass("myClass");
(2)所有的單行文本框: :text
例如:$(":text").addClass("myClass");
(3)所有的密碼框: :password
(4):radio :checkbox :submit :reset
:botton :file
(5):hiddle 匹配所有的不可見元素,或者type為hidden的元素
例如:$("input:hidden").val()
3.9 四個表單對象屬性選擇器
(1):select 下拉框
例如:$("select option:selected").text()
(2):checked 覆選框
例如:$("input:checked").val()
(3):enabled
例如:$(":enabled").addClass("myClass")
(4):disabled
例如:$(":disabled").addClass("myClass")
第四章 Jquery操作DOM
4.1 取值與賦值
(1)html()取值 html(txt) 賦值 相當於JS中innerHTML
取值:$("#div01").html() ,取出所有文本,包括html
賦值:$("#div01").html('<font style="color: gold;">hello word</font> '),會將文本中的html解析進行顯示
(2)text()取值 text(txt) 賦值 相當於JS中innerText
取值:$("#div01").text(),僅僅取出文本,不包括html
賦值:$("#div01").text('<font style="color: gold;">hello word</font> ');會將html標簽當做普通文本進行賦值
(3)val() 取值 val(val) 賦值 相當於JS中value
例如:$("#textid").val()
4.2 Jquery操作元素屬性
(1)獲取屬性值:attr(attr)
例如:$("#unameid").attr("name")
(2)給指定屬性賦值:attr(attr,val)
例如:$("#unameid").attr("value","李四")
(3)去掉指定屬性:removeAttr(attr)
例如:$("#unameid").removeAttr("id")
(4)獲取屬性值:prop(prop)
例如:$("#unameid").prop("name")
賦值:prop(prop,val)
例如:$("#unameid").prop("value","王五")
(5)對符合條件的元素逐個處理:each(index)
function testeach(){ $("input[name=fav]").each(function(index){ //alert(index); alert(this.value); }) }
註:jQuery 1.6增加了.prop()方法。
如 checked, selected、readonly、disabled 使用prop()等,返回值是true或者false更加方便處理。
例如: $("#submitid").prop("disabled",!($("#checkid").prop("checked")));
4.3 Jquery操作DOM節點
示例代碼:
<body> <ol id="olid"> <li id="li01">北京</li> <li>上海</li> <li>武漢</li> <li>深圳</li> </ol> <div id="div01"></div> <hr /> <input type="button" value="添加子節點" onclick="addchild()"/> </body>
(1)在末尾添加子元素:append()、appendTo()
例如:
例如:var varli = $("<li class='liclass'>西安</li>") $("#olid").append(varli); varli.appendTo($("#olid"));
(2)添加子元素前置:prepend()、prependTo()
例如:$("#olid").prepend(varli)
varli.prependTo($("#olid"))
(3)添加平級元素(前面)insertBefore()、before()
例如:var vardiv = $("<div>div02</div>")
vardiv.insertBefore($("#div01"));
$("#div01").before(vardiv);
(4)添加平級元素(後面)insertAfter()、after()
例如:vardiv.insertAfter($("#div01"));
$("#div01").after(vardiv);
(5)替換某個節點replaceWith()、replaceAll()
例如:var varli = $("<li>鄭州</li>");
$("#li01").replaceWith(varli);
varli.replaceAll($("#li01"));
(6)刪除元素:remove()
例如:$("#olid").remove()
(7)刪除子元素:empty()
例如:$("#olid").empty();
4.4 Jquery操作CSS樣式
(1) css(css,val)
例如:$("#divId").css("background-color",“red”)
(2)css({css1:val1,css2:val2,…..})
例如:$("#divId").css({"background-color":"red","color":"gold"});
4.5 Jquery操作類樣式
(1) hasClass(class) 判斷當前對象是否有這個樣式(類的樣式)--返回是boolean類型的值
例如:$("#divId").hasClass("myclass")
(2)addClass(class) 添加樣式, 而不是覆蓋類樣式
例如:"#divId").addClass("myclass myclass2"
(3) removeClass(class) 移除樣式,如果()不寫移除的樣式預設移除所有的樣式
例如:$("#divId").removeClass("myclass")
(4)toggleClass(class) 切換樣式
例如:$("#divId").toggleClass("myclass myclass2");
第五章 Jquery動畫效果
(1)顯示:show()
例如:$("#img01").show(3000)
(2)隱藏:hide()
例如: $("#img01").hide(3000)
(3)從上到下顯示:slideDown()
例如: $("#div01").slideDown(3000)
(4)從下到上隱藏:slideUp()
例如: $("#div01").slideUp(3000)
(5)淡入:fadeIn()
例如: $("#img01").fadeIn(3000)
(6)淡出:fadeOut()
例如: $("#img01").fadeOut(3000)
註:3000代表延時時間,3秒
第六章 Jquery事件
(1)點擊事件:click()
滑鼠移動事件:mousemove()
滑鼠移出事件:mouseout()
當滑鼠指針位於元素上方時:mouseover()
(2)事件綁定
bind():jquery1.7版本之前使用
live():在jquery1.9版本刪除
on():jquery1.7版本出現,推薦使用
on()優勢:統一介面,提高性能。
事件綁定兩種方式:
//1 直接 對象.事件() /*$("#aid").click(function(){ $("#divid").css("display","block"); }).mouseout(function(){ $("#divid").css("color","red"); $("#divid").css("font-size","30px"); });*/ //2 on() 使用on綁定事件 /*$("#aid").on("click",function(){ $("#divid").css("display","block"); }).on("mouseout",function(){ $("#divid").css("color","red"); $("#divid").css("font-size","30px"); })*/
(3)解除綁定
unbind():
傳參代表解除指定事件
無參代表預設解除所有事件
//4 unbind() 解綁 function testunbind(){ //$("#aid").unbind();//不傳參表示解除所有事件, $("#aid").unbind("mouseenter"); }