js獲取clonenode(Js獲取元素高度)

本文目錄一覽:

2019-11-24-JS中cloneNode()與cloneNode(true)之間區別

cloneNode()或者叫cloneNode(false)克隆的節點複製真節點的樣式,標籤,屬性。至於標籤里的元素,事件沒有複製,所以我們可以稱它淺克隆。

cloneNode(true)完全把真節點的東西給複製了過來,我們稱它為深克隆。也會克隆他的子節點

JS的獲取一個DOM對象怎麼才能複製它

var div = document.getElementsByTagName(‘div’)[0];

var clone = div.cloneNode();

js 的clonenode怎麼用

定義和用法

cloneNode() 方法創建節點的拷貝,並返回該副本。

cloneNode() 方法克隆所有屬性以及它們的值。

如果您需要克隆所有後代,請把 deep 參數設置 true,否則設置為 false。

var ele=document.getElementById(‘id’);

var eleClone=ele.cloneNode(true);

document.body.appendChild(eleClone);

js克隆的時候為什麼會把屬性名也帶下來

1、JAVASCRIPT 的cloneNode() 方法可創建指定的節點的精確拷貝。cloneNode() 方法拷貝所有屬性和值。

2、cloneNode() 這個方法的定義就規定了會複製屬性名和值。這個沒什麼為什麼,這個方法就是這麼定義的。

3、你如果不需要屬性名,你可以複製完之後自己再去除。獲取你可以自己實現一個cloneNode 方法,不複製屬性名就可以了。

4、希望對你有幫助。

js cloneNode 的克隆節點 怎麼刪除對應節點?

!– test.htm —

html

head

titleTest of cloneNode Method/title

script type=”text/javascript” src=”test.js”/script

/head

body

div id=”main”

div id=”div-0″

spanCloud018 said, /span

span”Hello World!!!”/span

/div

/div

/body

/html

// test.js

window.onload = function () {

var sourceNode = document.getElementById(“div-0”); // 獲得被克隆的節點對象

for (var i = 1; i 5; i++) {

var clonedNode = sourceNode.cloneNode(true); // 克隆節點

clonedNode.setAttribute(“id”, “div-” + i); // 修改一下id 值,避免id 重複

sourceNode.parentNode.appendChild(clonedNode); // 在父節點插入克隆的節點

}

}

JS之DOM操作

DOM: Document Object Model,文檔對象模型;js提供了豐富的api來操作文檔內容。

DOM樹: html文檔中的內容是以樹形結構排布,html是DOM樹根,html下只有兩個子標籤head、body

節點: DOM將所有的分支端都成為節點。節點有很多類型,常見的節點類型有:文本節點、元素節點。

可以通過 nodeType查看節點類型 : 1元素節點、3文本節點

特殊的元素節點:

1、html元素

2、body元素

3、head元素

節點操作的api(屬性和方法)

1、nodeName:只讀屬性,可以讀取節點名稱

2、nodeType:只讀屬性,讀取節點類型

3、 hasChildNodes():判斷調用方法的節點是否存在子節點,存在返回true,不存在返回false。

主流瀏覽器會將換行符、製表符、空格當做文本節點處理,IE9以下會忽略它們。

4、childNodes:只讀屬性,獲得節點的子節點集合,子節點集合是一個類數組結構,有數組特點無數組方法

5、firstChild:獲得節點的第一個子節點

6、lastChild:獲得節點的最後一個子節點

7、querySelector():

參數:string類型,css選擇器

作用:獲得文檔中第一個符合選擇器條件的節點

兼容:在IE9以下不支持

8、 querySelectorAll(): // 獲得的都是靜態集合

參數:string類型,css選擇器

作用:獲得文檔中所有符合選擇器條件的節點集合(類數組結構)

兼容:在IE9以下不支持

注意: querySelector() 和 querySelectorAll() 得到的都是元素節點。

9、previousSibling:獲取節點的前一個兄弟節點

10、nextSibling:獲取節點的後一個兄弟節點

11、parentNode:獲得節點的父節點(父節點一定是元素節點)

12、removeChild():節點刪除它的指定子節點

DOM操作元素:暫時不用的隱藏、一定不用的刪除。

13、cloneNode():克隆一個節點

參數:boolean類型,true深克隆,false淺克隆,默認淺克隆

深克隆:不僅克隆節點和節點的屬性,還會克隆節點的子節點

淺克隆:只克隆節點和節點的屬性,不會克隆節點的子節點

14、a.replaceChild(b,c):用b替換c

其中a是c的父節點,c是文檔上已經存在的節點,b可以是節點也可以是已存在節點,被替換的節點會從文檔結構中刪除。

15、a.replaceWith(b):用b替換a

a已存在的節點,b可以是新節點也可以是已存在節點,被替換的節點從DOM樹刪除。

16、a.insertBefore(b,c):在c前面插入b

其中,a是c的父節點,c是已經存在的節點,b是新節點

17、a.appendChild(b):在a末尾追加b

a是父節點,b是a的子節點, c是子節點

元素節點的相關api

1、getElementsByTagName():根據標籤名獲得元素集合(類數組結構)

區別:HTMLCollection 是動態集合,NodeList 是靜態集合。

2、createElement():根據標籤名創建新元素

3、id:讀寫屬性,可以讀取或設置元素的id值

4、className:讀寫屬性,可以讀取或設置元素的class值

5、classList:讀取標籤的類名集合(類數組結構)

add():為元素新增類名,如果類名已存在不會重複添加

remove():刪除元素指定類名,如果類名不存在不會執行操作

元素的屬性分為兩類:

一類是元素本里就擁有的屬性,例如:id、class、style、src、herf、target、alt、title、type、value等等,這些屬性可以在js中直接通過.語法讀取或設置。

再一類是我們為了解決問題給元素添加的自定義屬性,這些屬性在js中無法直接通過.語法讀取,需要通過操作方法訪問。

6、setAttribute(name,value)

參數:name表示要設置的屬性名,value要為屬性設置的值

無返回值

7、getAttribute(name)

參數:name表示要讀取的屬性名

返回值:返回屬性的值,如果屬性不存在會返回null

8、removeAttribute(name)

參數:name表示要刪除的屬性名

無返回值

說明:setAttribute()、getAttribute()、removeAttribute()都可以操作元素的本地屬性和自定義屬性。

element拓展:

兼容:以下屬性、方法在IE9以下不支持。

1、children:讀取元素的所有元素子節點集合(類數組)

2、parentElement:讀取元素的父元素節點

3、previousElementSibling:讀取前一個元素兄弟節點

4、nextElementSibling:讀取後一個元素兄弟節點

5、firstElementChild:讀取第一個元素子節點

6、lastElementChild:讀取最後一個元素子節點

7、remove(): 將調用方法的元素從DOM結構中刪除

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285058.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 15:43
下一篇 2024-12-22 15:43

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python列表中大於某數的元素處理方法

    本文將會介紹如何在Python列表中找到大於某數的元素,並對其進行進一步的處理。 一、查找大於某數的元素 要查找Python列表中大於某數的元素,可以使用列表推導式進行處理。 nu…

    編程 2025-04-29
  • Python Set元素用法介紹

    Set是Python編程語言中擁有一系列獨特屬性及特點的數據類型之一。它可以存儲無序且唯一的數據元素,這使得Set在數據處理中非常有用。Set能夠進行交、並、差集等操作,也可以用於…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Python編程實現列表元素逆序存放

    本文將從以下幾個方面對Python編程實現列表元素逆序存放做詳細闡述: 一、實現思路 一般來說,使用Python將列表元素逆序存放可以通過以下幾個步驟實現: 1. 定義一個列表 2…

    編程 2025-04-29
  • Python集合加入元素

    Python中的集合是一種無序且元素唯一的集合類型。集合中的元素可以是數字、字元串、甚至是其他集合類型。在本文中,我們將從多個方面來探討如何向Python集合中加入元素。 一、使用…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28
  • 如何在谷歌中定位系統彈框元素

    本文將從以下幾個方面為大家介紹如何在谷歌中準確地定位系統彈框元素。 一、利用開發者工具 在使用谷歌瀏覽器時,我們可以通過它自帶的開發者工具來定位系統彈框元素。 首先,我們可以按下F…

    編程 2025-04-28

發表回復

登錄後才能評論