主要的兩個擴充套件物件是selector api和html5,新增了一些使用的方法和屬性。
selector api:可以根據css選擇符選擇與某個模式匹配的dom元素,核心是通過css選擇符查詢dom文件取得元素的引用。主要方法有queryselector()和queryselectorall()方法。
元素遍歷:新增了5個新屬性,用於遍歷子元素
html5:
getelementbyclassname():接收包含乙個或多個型別的字串,返回屬於該類的全部元素的nodelist。
var allcurrentusername = document.getelementbyclassname("username current");
classlist屬性:包含了該元素所有的class,並且新增了一些操作這些class的方法,包括:
焦點管理:
document.activeelemnt屬性:初始時document.body儲存引用,儲存的是在頁面中獲得焦點的元素
focus():使元素獲得焦點。
document.hasfocus(): 判斷文件是否獲得了焦點。
自定義資料屬性:可以為元素新增非標準的屬性,只要以data-為字首即可。訪問這些屬性可以用dataset屬性。
var div = document.getelementbyid("mydiv");
var myname = div.dataset.myname;
插入標記:
innerhtml屬性:讀模式下:返回與呼叫元素的所有子節點(包括元素,文字和注釋)對應的html標記;寫模式下,會根據指定的值建立新的dom樹,並完全替代原來的dom樹。例:
this is a paragraph
var div = document.getelementbyid("content");
alert(div.innerhtml);
/*返回
this is a paragraph
*/
需要注意的是:1、在innerhtml中新增標籤並不會執行其中的指令碼,ie8及其早些的版本支援,但是需要為script指定defer屬性,並且要包含在乙個有作用域的元素內。2、大多數瀏覽器都可以通過innerhtml直觀的新增css式樣。div.innerhtml="";
outerhtml:型別與innerhtml,唯一不同的是,在寫模式下,會將呼叫元素也替換掉。
insertadjacenthtml():在指定位置插入html文字,第乙個引數必須為:
beforebegin:在當前元素之前插入乙個相鄰的同輩元素
afterbegin:在當前元素之後或者在第乙個子元素之前
beforeend:在當前元素之下或者在最後乙個子元素之後再插入
afterend:在當前元素之後插入乙個相鄰的同輩元素。
JavaScript學習之DOM程式設計
dom 程式設計動態 改變文件 dom樹 node 屬性名稱 返回值 作用 documentelement 節點獲取文件的根節點 attributes 陣列如是element,以namenodemap返回屬性 childnodes 節點陣列 以node形式存放子節點 firstchild 節點獲取第...
JavaScript學習筆記(五)之DOM樹
十一 dom或以樹型展示的web頁面 定義dom的基礎設施,包括模式 schema 和應用程式設計介面 api dom的核心是語言無關的api,可以用任何語言實現,dom的核心就是提供修改 刪除或建立web頁面內容所需的各種功能。主要的兩個api即html和core。它們都能實現相同的功能,但htm...
JavaScript物件 DOM技術
dom document object model 文件物件模型 dom技術 把標記文件變成物件樹,通過對這棵樹中的物件進行操作 增刪改查 實現對文件內容的操作。對dom物件樹進行增刪改查,產生的效果就是對頁面內容進行增刪改查 文件 html頁面,xml文件 檔案 dhtm 動態html技術,它不是...