![]() |
VOOZH | about |
DOM是Document Object Model的縮寫,意思是文檔對象模型。根據W3C DOM規範,DOM是一種與瀏覽器、平台、語言無關的接口,使用該接口可以輕鬆地訪問頁面中的所以標準組件。
DOM操作可以分為3個方面,即DOM Core(核心)、HTML-DOM和CSS-DOM。
DOM Core並不專屬於JavaScript,任何一種支持DOM的程序設計語言都可以使用它,它的用途並非僅限於處理網頁,也可以用來處理任何一種使用標記語言寫出來的文檔,例如XML。
使用DOM Core來獲取表單對象的方法:
document.getElementsByTagName(「form」);
使用DOM Core來獲取某元素的src屬性的方法:
element.getAttribute(「src」);
在使用JavaScript和DOM為HTML文件編寫腳本時,有許多專屬於HTML-DOM的屬性。HTML-DOM的出現甚至比DOM Core還要早,它提供了一些更簡明的記號來描述各種HTML元素的屬性。
例如:
CSS-DOM是針對CSS的操作。
例如:設置某元素style對象字體顏色的方法:
var $para = $(「p」);
var p_txt = $para.attr(「title」);
alert(p_txt);
3.2.3 插入節點
表3-1 插入節點的方法
方法 描述
append 向每個匹配的元素內容追加內容。
appendTo 將所以匹配的元素追加到指定的元素中。
prepend 向每個匹配的元素內容內部前置內容。
prependTo 將所有匹配的元素前置到指定的元素中。
after 在每個匹配的元素之後插入內容
insertAfter 將所有匹配的元素插入到指定元素後面。
before 在每個匹配的元素之前插入內容
insertBefore 將所有匹配的元素插入到指定的元素前面
var $li_1 = $(「
var $one_li = $(「ul li:eq(1)「);
var $two_li = $(「ul li:eq(2)「);
$two_li.insertBefore($one_li);
jQuery提供了兩種刪除節點的方法,即remove和empty。
當某個節點用remove方法刪除後,該節點所包含的所有後代節點將同時被刪除。這個方法的返回值是一個指向已被刪除的節點的引用,因此可以在以後再使用這些元素。
var $li = $("ul li:eq(1)").remove; $li.appendTo("ul");//把剛才刪除的節點又重新添加到<ul>元素里remove方法也可以通過傳遞參數來選擇性地刪除元素,jQuery代碼如下:
$("ul li").remove("li[title!=菠蘿]");複製節點後,被複製的新元素並不具有任何行為。如果需要新元素也具有複製功能(本例是單擊事件),可以:
$(this).clone(true).appendTo("body");//注意參數true在clone方法中傳遞了一個參數true,它的含義是複製元素的同時複製元素所綁定的事件。因此鈣元素的副本也同樣具有複製功能。
要替換某個節點,jQuery提供了相應的方法,即replaceWith和replaceAll.
$("p").replaceWith("<strong>你最不喜歡的水果是?</strong>");replaceAll方法與replaceWith相同,只是顛倒了replaceWith操作。如:
$("<strong>你最不喜歡的水果是?</strong>").replaceAll("p");如果在替換之前,已經為元素綁定事件,替換後原先綁定的事件將會與被替換的元素一起消失,需要在新元素上重新綁定事件。