本文目錄一覽:
- 1、怎麼用DOM創建a節點
- 2、DOM的理解與操作
- 3、python DOM有什麼用
- 4、如何用python操作xml文件,用dom
- 5、python中who, dom=「」,「」?
- 6、DOM中每個節點就是一個對象,意思是元素節點,文本節點,屬性節點分別都是一個對象?
怎麼用DOM創建a節點
用JQuery選擇器能夠快捷而輕鬆地查找到文檔中的某個特定的元素節點,然後可以用attr()方法來獲取元素的各種屬性的值。但真正的DOM操作並非這麼簡單。在DOM操作中,常常需要動態創建HTML內容,使文檔在瀏覽器里的呈現效果發生變化,並且達到各種各樣的人機交互的目的。
HTML DOM結構如下:
p class=”nm_p” title=”歡迎訪問腳本之家” 歡迎訪問腳本之家/p ul class=”nm_ul” li title=’PHP編程’簡單易懂的PHP編程/li li title=’JavaScript編程’簡單易懂的JavaScript編程/li li title=’JQuery編程’簡單易懂的JQuery編程/li /ul
創建元素節點
例如要創建兩個li元素節點,並且要把它們作為ul元素節點的子節點添加到DOM節點樹上。完成這個任務需要兩個步驟。
1. 創建兩個li新元素。
2. 將這兩個新元素插入文檔中。
第1個步驟可以使用jQuery的工廠函數$()來完成,格式如下:
$(html);
$(html)方法會根據傳入的HTML標記字符串,創建一個DOM對象,並將這個DOM對象包裝成一個jQuery對象後返回。
首先創建兩個li元素,jQuery代碼如下:
var $li_1 = $(“li/li”); // 創建第一個li元素 var $li_2 = $(“li/li”); // 創建第二個li元素
然後將這兩個新元素插入文檔中,可以使用jQuery中的append()等方法。JQuery代碼如下:
var $parent = $(“.nm_ul”); // 獲取ul節點。li的父節點 $parent.append($li_1); // 添加到ul節點中,使之能在網頁中顯示 $parent.append($li_2); // 可以採取鏈式寫法:$parent.append($li_1).append($li_2);
動態創建的新元素節點不會被自動添加到文檔中,而是需要使用其他方法將其插入文檔中。當創建單個元素時,要注意閉合標籤和使用標準的XHTML格式。例如創建一個p元素,可以用$(“p/”)或者$(“p/p”),但不要使用$(“p”)或者大寫的$(“P/”)。
創建文本節點
已經創建了兩個li元素節點並把它們插入文檔中了。此時需要為創建的元素節點添加文本內容。
JQuery代碼如下:
var $li_1 = $(“li新增節點:數據結構/li”); // 創建第一個li元素 var $li_2 = $(“li新增節點:設計模式/li”); // 創建第二個li元素 var $parent = $(“.nm_ul”); // 獲取ul節點。li的父節點 $parent.append($li_1); // 添加到ul節點中,使之能在網頁中顯示 $parent.append($li_2); // 可以採取鏈式寫法:$parent.append($li_1).append($li_2);
如以上代碼所示,創建文本節點就是在創建元素節點時直接把文本內容寫出來,然後使用append()等方法將它們添加到文檔中就可以了。
無論$(html)中的HTML代碼多麼複雜,都要使用相同的方式來創建。例如$(“liem這是/emb一個/ba href=”#”複雜的組合/a/li”);
創建屬性節點
創建屬性節點與創建文本節點類似,也是直接在創建元素節點時一起創建。JQuery代碼如下:
var $li_1 = $(“li title=’新增節點:數據結構’新增節點:數據結構/li”); // 創建第一個li元素 var $li_2 = $(“li title=’新增節點:設計模式’新增節點:設計模式/li”); // 創建第二個li元素 var $parent = $(“.nm_ul”); // 獲取ul節點。li的父節點 $parent.append($li_1); // 添加到ul節點中,使之能在網頁中顯示 $parent.append($li_2); // 可以採取鏈式寫法:$parent.append($li_1).append($li_2);
通過瀏覽器查看源代碼工具查看代碼,可以看到最後兩個li元素多了名為「title」的屬性節點。由此可以判斷,創建的元素的文本節點和屬性節點都已經添加到網頁中了。由此可見用jQuery來動態創建HTML元素是非常簡單、方便和靈活的。
DOM的理解與操作
有一定的JS基礎後,就可以進入 dom 環節了,dom使得網頁的交互效果得到完美呈現,可以說dom真正打開了網頁和用戶之間的通道橋樑,日常生活中我們點擊鼠標,敲擊鍵盤,甚至於無意間觸碰到屏幕(觸摸屏),都會或多或少或大或小的得到一些躲藏起來的內容。
打開淘寶,在輸入框輸入商品時,下拉的推薦商品:
或是當打開某個不想再瀏覽的網頁時,右上角的那個×:
這些大部分都存在DOM的身影。
這裡的「DOM」,通常來講,叫做 DOM 文檔對象模型 , 通過操縱DOM,可以隨意更改內容,樣式,或者增刪改查 ,因為網頁是在瀏覽器中顯示的,整個瀏覽器是BOM,所以DOM其實是BOM的一部分,BOM 就是 window對象 ,DOM 就是 document(文檔)對象。
如果該元素,是網頁的必備元素,而且只能有一個,可以通過document對象直接獲取。比如:圖片的src屬性:
任由我們怎麼去修飾圖片的顯示,但它本身的路徑屬性是獨有的,所以我們可以直接獲取:
更多的時候,我要需要獲取網頁中的指定元素,這就需要專門的方法來獲取了,這裡列舉幾個方法:
getElementById()方法,根據元素的id屬性值來獲取指定的元素,因為ID的唯一性,使得該方法需要搭配ID選擇器使用,如果網頁里ID重複時,它會獲取第一個:
getElementsByTagName()方法,根據元素的標籤名獲取所有該元素,該方法獲取的是所有該標籤的元素,以偽數組的形式呈現:
getElementsByClassName()方法,根據元素的類選擇器名稱獲取所有該元素,該方法獲取的途徑是標籤的類,也就是class屬性,由於擁有該屬性的標籤可能不只一個,所以該方法獲得的也是一個偽數組(還有,可以看方法名,凡是帶Elements的大多數都是偽數組):
getElementsByName()方法,根據元素的name屬性值獲取所有該元素,相同的性質,有name屬性的標籤也不少:
querySelector()方法,根據選擇器的名稱返回元素,如果有多個元素,只返回第一個元素,這個方法就比較常用了,而且IE這個啥也不咋適配的瀏覽器現在幾乎不咋能見到了,可以多多考慮用他了該方法是 ES6新增,無論是ID 還是class都可以選,但是和上面區別的是選ID時前面要加#號,選class時前面要加「.」:
區別於Elements,這裡是個單數,所以只會獲取一個,要是想獲取多個相同的,就用querySelectorAll()吧!querySelectorAll()看這個ALL就知道它是用來選全部的:
最後這倆方法更實用,可以選取CSS幾乎所有選擇器,而且querySelectorAll()得到的數組數據後還可以使用數組的方法。
操作DOM的樣式 ,有多種方式:
通過style屬性直接設置
通過className屬性設置類選擇器
也可以通過classList屬性添加多個類選擇器
操作DOM的內容:
innerText屬性,用於獲取 和 操作 DOM的文本內容。
innerHTML屬性,用於獲取 和 操作 DOM的HTML內容:
createElement()方法,用於創建DOM元素:
appendChild()方法,用於在當前DOM元素中添加子元素:
自刪 remove()方法,是元素刪除自己:
通過父級刪除子級 removeChild()方法,是刪除元素裏面指定的子元素:
python DOM有什麼用
DOM介紹
(1)什麼是DOM
·DOM:文檔對象模型。DOM 為文檔提供了結構化表示,並定義了如何通過腳本來訪問文檔結構。目的其實就是為了能讓js操作html元素而制定的一個規範。
·DOM就是由節點組成的。
相關推薦:《Python教程》
(2)解析過程
·HTML加載完畢,渲染引擎會在內存中把HTML文檔,生成一個DOM樹,getElementById是獲取內中DOM上的元素節點。然後操作的時候修改的是該元素的屬性。
·DOM樹(一切都是節點)
DOM的數據結構如下:
上圖可知,在HTML當中,一切都是節點:(非常重要)
·元素節點:HMTL標籤。
·文本節點:標籤中的文字(比如標籤之間的空格、換行)
·屬性節點::標籤的屬性。
整個html文檔就是一個文檔節點。所有的節點都是Object。
(3)DOM可以做什麼
·找對象(元素節點)
·設置元素的屬性值
·設置元素的樣式
·動態創建和刪除元素
·事件的觸發響應:事件源、事件、事件的驅動程序
如何用python操作xml文件,用dom
用replace應該可以的
xml = string.replace(xml, “string name=”version_string”(.*)/string”, “string name=”version_string”(你想要的東西)/string”)
python中who, dom=「」,「」?
who, dom = “”, “”
這句代碼,定義了2個變量,分別是 who 和 dom, 它們的初始值都是 “”
DOM中每個節點就是一個對象,意思是元素節點,文本節點,屬性節點分別都是一個對象?
你說的是HTML DOM?還是Jquery DOM?不同的dom對應的內容是不一樣的,絕對不能混合使用。不過從你說到節點來看,應該是HTML DOM。根據我的理解,先說明,我也是學習js的一個新手。以下純屬個人見解,僅供參考:dom中的節點,無需深究它是否是對象,你只需要知道對應的節點代表什麼就行。文本節點就是元素標籤的文字內容,屬性節點就是元素標籤的屬性,元素節點就是元素標籤。然後,知道了這些,你就應該想得到,標籤,是有屬性,有內容的。也就是說你可以通過dom創建元素標籤,屬性,文字內容,然後向你創建的元素標籤添加屬性和文字內容,個人覺得dom的作用就是如此。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/309098.html