python總dom創建標籤(python 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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:30
下一篇 2025-01-04 19:30

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論