电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Javascript ParentNode和ChildNode接口原理解析

瀏覽:119日期:2023-11-07 13:29:12

ParentNode 接口,ChildNode 接口

節點對象除了繼承 Node 接口以外,還擁有其他接口。ParentNode接口表示當前節點是一個父節點,提供一些處理子節點的方法。ChildNode接口表示當前節點是一個子節點,提供一些相關方法。

ParentNode 接口

如果當前節點是父節點,就會混入了(mixin)ParentNode接口。由于只有元素節點(element)、文檔節點(document)和文檔片段節點(documentFragment)擁有子節點,因此只有這三類節點會擁有ParentNode接口。

ParentNode.childrenchildren屬性返回一個HTMLCollection實例,成員是當前節點的所有元素子節點。該屬性只讀。

下面是遍歷某個節點的所有元素子節點的示例。

for (var i = 0; i < el.children.length; i++) { // ...}

注意,children屬性只包括元素子節點,不包括其他類型的子節點(比如文本子節點)。如果沒有元素類型的子節點,返回值HTMLCollection實例的length屬性為0。

另外,HTMLCollection是動態集合,會實時反映 DOM 的任何變化。

ParentNode.firstElementChild

firstElementChild屬性返回當前節點的第一個元素子節點。如果沒有任何元素子節點,則返回null。

document.firstElementChild.nodeName// 'HTML'

上面代碼中,document節點的第一個元素子節點是<HTML>。

ParentNode.lastElementChildlastElementChild屬性返回當前節點的最后一個元素子節點,如果不存在任何元素子節點,則返回null。

document.lastElementChild.nodeName// 'HTML'

上面代碼中,document節點的最后一個元素子節點是<HTML>(因為document只包含這一個元素子節點)。

ParentNode.childElementCountchildElementCount屬性返回一個整數,表示當前節點的所有元素子節點的數目。如果不包含任何元素子節點,則返回0。

document.body.childElementCount // 13

ParentNode.append(),ParentNode.prepend()

append方法為當前節點追加一個或多個子節點,位置是最后一個元素子節點的后面。

該方法不僅可以添加元素子節點,還可以添加文本子節點。

var parent = document.body;// 添加元素子節點var p = document.createElement(’p’);parent.append(p);// 添加文本子節點parent.append(’Hello’);// 添加多個元素子節點var p1 = document.createElement(’p’);var p2 = document.createElement(’p’);parent.append(p1, p2);// 添加元素子節點和文本子節點var p = document.createElement(’p’);parent.append(’Hello’, p);

注意,該方法沒有返回值。

prepend方法為當前節點追加一個或多個子節點,位置是第一個元素子節點的前面。它的用法與append方法完全一致,也是沒有返回值。

ChildNode 接口

如果一個節點有父節點,那么該節點就擁有了ChildNode接口。

ChildNode.remove()remove方法用于從父節點移除當前節點。

el.remove()

上面代碼在 DOM 里面移除了el節點。

ChildNode.before(),ChildNode.after()before方法用于在當前節點的前面,插入一個或多個同級節點。兩者擁有相同的父節點。

注意,該方法不僅可以插入元素節點,還可以插入文本節點。

var p = document.createElement(’p’);var p1 = document.createElement(’p’);// 插入元素節點el.before(p);// 插入文本節點el.before(’Hello’);// 插入多個元素節點el.before(p, p1);// 插入元素節點和文本節點el.before(p, ’Hello’);

after方法用于在當前節點的后面,插入一個或多個同級節點,兩者擁有相同的父節點。用法與before方法完全相同。

ChildNode.replaceWith()replaceWith方法使用參數節點,替換當前節點。參數可以是元素節點,也可以是文本節點。

var span = document.createElement(’span’);el.replaceWith(span);

上面代碼中,el節點將被span節點替換。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 安徽合肥格力空调专卖店_格力中央空调_格力空调总经销公司代理-皖格制冷设备 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 上海洗地机-洗地机厂家-全自动洗地机-手推式洗地机-上海滢皓洗地机 | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 九爱图纸|机械CAD图纸下载交流中心| QQ房产导航-免费收录优秀房地产网站_房地产信息网 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 直流大电流电源,燃料电池检漏设备-上海政飞 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 电表箱-浙江迈峰电力设备有限公司-电表箱专业制造商 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 远程会诊系统-手术示教系统【林之硕】医院远程医疗平台 | 南京和瑞包装有限公司| 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 天命文免费算命堂_自助算命_自由算命系统_长文周易 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 电梯装饰-北京万达中意电梯装饰有限公司 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 不锈钢丸厂家,铝丸,铸钢丸-淄博智源铸造材料有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 周易算网-八字测算网 - 周易算网-宝宝起名取名测名字周易八字测算网 | 出国劳务公司_正规派遣公司[严海]| 炉门刀边腹板,焦化设备配件,焦化焦炉设备_沧州瑞创机械制造有限公司 |