JQ筆記03.Jquery中的DOM操作

  • 使用Jquery可以很方便的查找到文檔中的某個特定的元素節點,然後可以使用attr()方法來獲取元素的各種屬性的值。attr()方法的參數可以是一個,也可以是兩個。參數是一個的時候,則是要查詢的屬性的名字。
  • $(html)方法會根據傳入的HTML標記字符串,創建一個DOM對象,並將這個DOM對象包裝成一個JQuery對象後返回。
  • 使用Jquery中的append()方法可以將新元素插入到文檔中。

插入節點的方法:

insertBefore可以用來移動節點:

3.2.4【刪除節點】:remove()和empty()

$("ul li:eq(1)").remove(); //獲取<ul>節點中第二個<li>元素節點,並將它刪除
$("ul li").remove("li[title=aaa]"); //將<li>元素中屬性title等於aaa的元素刪除(若要不等於,使用!=符號)
empty()是清空元素中的所有後代節點。
$("ul li:eq(0)").empty(); //獲取<ul>節點中第一個<li>元素節點,並將這個元素中的內容清空(節點符號還在)

3.2.5【複製節點】:使用clone()方法

3.2.6【替換節點】replaceWith()和replaceAll()

replaceWith():將所有匹配的元素都替換成指定的HTML或DOM元素。
replaceAll()和上面的相同,只是寫法上顛倒。

3.2.7【包裹節點】wrap()方法

wrap() 將所有元素單獨包裹
wrapAll() 將所有元素一起包裹
wrapInner() 將匹配的元素的子內容(包括文本節點)用指定的標記包裹起來

3.2.8【屬性操作】使用attr()方法獲取和設置元素屬性,removeAttr()方法刪除元素屬性。

3.2.9【樣式操作】

alert( $("p").attr("class") ); //獲取樣式
$("p").attr("class","high"); //設置樣式
$("p").addClass("another"); //追加樣式
$("p").removeClass(); //刪除全部樣式
$("p").removeClass("high"); //刪除指定樣式(刪除多個則依次由內及外removeClass())
$("p").toggleClass("another"); //重複切換樣式
alert($("p").hasClass("another")); //判斷元素是否含有某樣式(等價於如下代碼)
alert($("p").is(".another")); //判斷元素是否含有某樣式

★3.2.10【設置和獲取HTML、文本和值】

html()方法:類似於JS中的innerHTML屬性,用來讀取或者設置某個元素中的HTML內容。
alert($("p").html()); //獲取<p>元素的HTML代碼
$("p").html("<strong>你最喜歡的水果是?</strong>"); //設置<p>元素的HTML代碼
text()方法:類似於JS中的innerText屬性,用來讀取或者設置某個元素中的文本內容。
alert($("p").text());//獲取<p>元素的文本
$("p").text("一江春水向東流"); //設置<p>元素的文本
$("p").text("<strong>花自飄零水自流</strong>"); //設置<p>元素的文本(帶HTML)
val()方法:類似於JS中的value屬性,用來獲取或設置元素的值。如果元素爲多選,則返回一個包含所有選擇值的數組。
alert($(this).val()); //獲取按鈕的value值
$(this).val("我被點擊了!"); //設置按鈕的value值

3.2.10.1 val()方法實戰:鼠標點擊輸入框默認值消失,用來登錄時的提醒。

注:this指向當前的文本框,this.defaultValue就是當前文本框的默認值

3.2.10.2 val()重要用途之二:能使select[下拉菜單]、checkbox[多選框]、radio[單選按鈕],相應的選項被選中。

3.2.11【遍歷節點】

3.2.11.1 Children()方法,用於取得匹配元素的子元素集合,該方法只考慮子元素而不考慮任何後代元素。

3.2.11.2 next()方法,用於取得匹配元素後面的同輩元素

Prev()方法,用於取得匹配元素前面的同輩元素

siblings()方法,用於取得匹配元素前後所有的同輩元素

3.2.11.3 closest()方法,用於取得最近的匹配元素

注:Jquery中還有很多遍歷節點的方法:find()、filter()、nextAll()、prevAll()、parent()、parents().

3.2.12【CSS-DOM操作】讀取和設置style對象的各種屬性

alert( $("p").css("color") ); //獲取<p>元素的color

alert( $("p").height() ); //獲取<p>元素的高度

alert( $("p").width() ); //獲取<p>元素的寬度

$("p").css("color","red"); //設置<p>元素的color

$("p").css({"fontSize":"30px" ,"backgroundColor":"#888888"}) //設置<p>元素的fontSize和backgroundColor(駝峯式)

$("p").css("opacity","0.5"); //設置<p>元素的透明度

$("p").height("100px"); //設置<p>元素的高度

$("p").width("400px"); //設置<p>元素的寬度

offset()方法:獲取元素在當前視窗的相對偏移,返回的對象包含兩個屬性:top和left

var left = $("p").offset().left;

var top = $("p").offset().top;

alert("left:"+left+";top:"+top); //獲取<p>元素的的左邊距和上邊距

position()方法:獲取元素相對於最近的一個position樣式屬性設置爲relative或者absolute的祖父節點的相對偏移,返回的對象同上。

var left = $("p").position().left;

var top = $("p").position().top;

alert("left:"+left+";top:"+top);

scrollTop()方法、scrollLeft()方法:獲取元素的滾動條距離頂端和左側的距離

var scrollTop = $("textarea").scrollTop(); //滾動條距離頂端的距離

var scrollLeft = $("textarea").scrollLeft(); //滾動條距離左端的距離

alert("scrollTop:"+scrollTop+";scrollLeft:"+scrollLeft);

可以爲上述方法指定一個參數,控制元素的滾動條滾動到指定位置。

$("textarea").scrollTop(300);

$("textarea").scrollLeft(300); //控制元素的滾動條滾動到距離頂端300和距離左側300的位置

【案例研究】網站超鏈接和圖片的提示效果(相當經典,整理、收藏!)

3.3-案例-文字超鏈接效果.html

3.3-案例-圖片提示效果.html

【代碼】https://github.com/rxbook/study-jquery-1/tree/master/03.Jquery%E4%B8%AD%E7%9A%84DOM%E6%93%8D%E4%BD%9C

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章