javascript學習 DOM擴充套件

2021-07-12 02:06:26 字數 1464 閱讀 7553

主要的兩個擴充套件物件是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技術,它不是...