JS Node节点的常见属性和方法使用 & 如何获取相应节点和值

一、节点的常用属性和方法

(一)通过具体的元素节点调用如下方法和属性

《1》getElementsByTagName()
方法,获取当前节点的指定标签名孩子节点

《2》appendChild(oNode)
方法给标签对象添加子节点。oNode是要添加的子节点。

《3》removeChild(oNode)
removeChild方法删除子节点。oNode是要删除的孩子节点

《4》cloneNode( [bCloneChildren])
cloneNode方法克隆一个对象。

《5》bCloneChildren表示是否需要克隆孩子节点

《6》getAttribute(sAttributeName)

getAttribute方法获取属性值。sAttributeName是要获取的属性名

(二)属性:

childNodes
属性,获取当前节点的所有子节点firstChild
属性,获取当前节点的第一个子节点lastChild
属性,获取当前节点的最后一个子节点parentNode
属性,获取当前节点的父节点nextSibling
属性,获取当前节点的下一个节点previousSibling
属性,获取当前节点的上一个节点className
用于获取或设置标签的class属性值innerHTML
属性,表示获取/设置起始标签和结束标签中的内容

eg: Node常用属性和方法如下测试

    <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title>
<script type="text/javascript">//页面加载完成
window.onload = function() {var divObj = document.getElementsByTagName("div")[0];
// 通过具体的元素节点调用
// getElementsByTagName()
// 方法,获取当前节点的指定标签名孩子节点var spanObjs = divObj.getElementsByTagName("span");
// alert(spanObjs[0]);  弹 object HTMLSpanElement
//  alert(spanObjs.length); 弹出3var h3Obj = document.createElement("h3")// <h3></h3>//  alert(h3Obj);
h3Obj.innerHTML = "我是h3标签"; // <h3>我是h3标签</h3>// appendChild(oNode)
// 方法给标签对象添加子节点。oNode是要添加的子节点。
divObj.appendChild(h3Obj); // 把我创建的h3标签添加到div中// removeChild(oNode)
// removeChild方法删除子节点。oNode是要删除的孩子节点
var span02Obj = document.getElementById("span02");
divObj.removeChild(span02Obj);// getAttribute(sAttributeName)
// getAttribute方法获取属性值。sAttributeName是要获取的属性名
alert( span02Obj.getAttribute("id") );// cloneNode( [bCloneChildren])
// cloneNode方法克隆一个对象。bCloneChildren表示是否需要克隆孩子节点
var h2Obj = document.getElementsByTagName("h2")[0];
//  alert(h2Obj.innerHTML);
var h2CloneObj = h2Obj.cloneNode(true); // <h2></h2>//  alert(h2CloneObj.innerHTML);
divObj.appendChild(h2CloneObj);}
</script></head><body><div>   <h1>111</h1><span >span1</span><span id="span02" >span2</span><span>span3</span><h2><a href="1">111</a></h2></div>
</body>
</html>

二、DOM对象节点查询 获取对应节点和值测试

(1)如下html中引入了CSS限制相应的div格式

CSS:此处练习CSS如何脱离html创建

@CHARSET "UTF-8";body {width: 800px;margin-left: auto;margin-right: auto;
}button {width: 300px;margin-bottom: 10px;
}#btnList {float:left;
}#total{width: 450px;float:left;
}ul{list-style-type: none;margin: 0px;padding: 0px;
}.inner li{border-style: solid;border-width: 1px;padding: 5px;margin: 5px;background-color: #99ff99;float:left;
}.inner{width:400px;border-style: solid;border-width: 1px;margin-bottom: 10px;padding: 10px;float: left;
}

(2)上面创建的css引入到如下的html中

<link rel="stylesheet" type="text/css" href="style/css.css" />

效果如下:

<html>
<head>
<meta charset="UTF-8">
<title>dom查询</title>
<link rel="stylesheet" type="text/css" href="style/css.css" /><script type="text/javascript">
window.onload = function(){//1.查找#bj节点document.getElementById("btn01").onclick=function(){//查找id为bj的标签对象var liObj = document.getElementById("bj");          alert(liObj.innerHTML);}//2.查找所有li节点var btn02Ele = document.getElementById("btn02");btn02Ele.onclick = function(){var liObjs = document.getElementsByTagName("li");for(var i=0;i<liObjs.length;i++){alert(liObjs[i].innerHTML);}alert(liObjs.length);};//3.查找name=gender的所有节点var btn03Ele = document.getElementById("btn03");btn03Ele.onclick = function(){alert( document.getElementsByName("gender").length );};//4.查找#city下所有li节点var btn04Ele = document.getElementById("btn04");btn04Ele.onclick = function(){//1.先通过id属性查找id属性值为city的节点var cityObj = document.getElementById("city");//2.通过city节点对象.getElementsByTagName方法查找它的孩子节点alert( cityObj.getElementsByTagName("li").length );};//5.返回#city的所有子节点var btn05Ele = document.getElementById("btn05");btn05Ele.onclick = function(){//1.先通过id属性查找id属性值为city的节点var cityObj = document.getElementById("city");//2.通过city节点.childNodes获取所有的孩子节点alert( cityObj.childNodes.length );};//6.返回#phone的第一个子节点var btn06Ele = document.getElementById("btn06");btn06Ele.onclick = function(){//1.先获取id为phone的节点var phoneObj = document.getElementById("phone");//2.通过phone节点对象.firstChild获取第一个孩子节点alert( phoneObj.firstChild.innerHTML );};//7.返回#bj的父节点var btn07Ele = document.getElementById("btn07");btn07Ele.onclick = function(){alert( document.getElementById("bj").parentNode.innerHTML );};//8.返回#android的前一个兄弟节点var btn08Ele = document.getElementById("btn08");btn08Ele.onclick = function(){alert( document.getElementById("android").previousSibling.innerHTML );};//9.读取#username的value属性值var btn09Ele = document.getElementById("btn09");btn09Ele.onclick = function(){//1.先获取标签对象var usernameObj = document.getElementById("username");//2.通过标签对象.value属性值获取文本内容alert( usernameObj.value );};//10.设置#username的value属性值var btn10Ele = document.getElementById("btn10");btn10Ele.onclick = function(){//1.先获取标签对象var usernameObj = document.getElementById("username");//2.通过标签对象.value属性修改文本内容usernameObj.value = "hello world!";};//11.返回#bj的文本值var btn11Ele = document.getElementById("btn11");btn11Ele.onclick = function(){//1、先获取标签对象var liObj = document.getElementById("bj");//2.通过标签对象.innerHTML或innerText属性获取文本内容// alert(liObj.innerHTML); // 获取起始标签和结尾标签中所有的内容alert(liObj.innerText); // 获取起始标签和结尾标签中所有的文本 内容(全过滤掉标签)};
};</script>
</head>
<body>
<div id="total">
<div class="inner"><p>你喜欢哪个城市?</p><ul id="city"><li id="bj"><a href="#">北京</a></li><li>北京</li><li>上海</li><li>深证</li></ul><br><br><p>你喜欢的水果?</p><ul id="game"><li id="rl">苹果</li><li>香蕉</li><li>哈密瓜</li><li>草莓</li></ul><br /><br /><p>你喜欢的手机是?</p><ul id="phone"><li>小米</li><li id="android">苹果</li><li>华为</li></ul>
</div><div class="inner">gender:<input type="radio" name="gender" value="male"/>Male<input type="radio" name="gender" value="female"/>Female<br><br>name:<input type="text" name="name" id="username" value="nice to meet you"/>
</div>
</div>
<div id="btnList"><div><button id="btn01">查找#bj节点</button></div>
<div><button id="btn02">查找所有li节点</button></div>
<div><button id="btn03">查找name=gender的所有节点</button></div>
<div><button id="btn04">查找#city下所有li节点</button></div>
<div><button id="btn05">返回#city的所有子节点</button></div>
<div><button id="btn06">返回#phone的第一个子节点</button></div>
<div><button id="btn07">返回#bj的父节点</button></div>
<div><button id="btn08">返回#android的前一个兄弟节点</button></div>
<div><button id="btn09">返回#username的value属性值</button></div>
<div><button id="btn10">设置#username的value属性值</button></div>
<div><button id="btn11">返回#bj的文本值</button></div>
</div>
</body>
</html>

如上测试其中截图:

JS 之Node节点的 属性、方法 获取相关推荐

  1. js代码设置节点的属性

    js代码设置节点的属性 <!DOCTYPE html> <html><head><meta charset="utf-8">< ...

  2. 向js中添加静态方法与属性方法

    前言 略 静态方法 if (!Date.diffDays) {Date.diffDays = function(s1, s2) {return Date.valueOf2(s1).diffDaysOf ...

  3. k8s node节点 unknown解决方法

    前言 生产环境的Node节点挂了,功能受到了影响,进行快速的恢复__ 2022年07月记录 环境 kubernetes Linux 操作 1.重启该节点 kubectl get nodes -o wi ...

  4. JS中Node节点总结

    Node的三个基本属性: 1.nodeType:表明节点类型,1是元素节点,3是文本节点. 2.nodeName:  表明节点名称,元素节点为标签名,文本节点为#text. 3.nodeValue:表 ...

  5. DOM节点的属性及文本操作

    DOM节点的属性操作 获取属性值 DOM节点.属性名 //不能获取用户自定义的属性值 DOM节点.getAttribute(属性名) //获取所有属性值 设置属性值 DOM节点.属性名 = 属性值 D ...

  6. Dom基础 特殊的节点 获取元素节点的内容 获取元素的属性 css属性 Dom获取元素的方法

    1.Dom基础 <!DOCTYPE html> <html><head><meta charset="utf-8"><titl ...

  7. JS window对象 Location对象 location用于获取或设置窗体的URL,并且可以用于解析URL。 语法: location.[属性|方法]...

    Location对象 location用于获取或设置窗体的URL,并且可以用于解析URL. 语法: location.[属性|方法] location对象属性图示: location 对象属性: lo ...

  8. 【Groovy】自定义 Xml 生成器 BuilderSupport ( nodeCompleted 方法获取节点闭合信息 )

    文章目录 一.nodeCompleted 方法获取节点闭合信息 二.完整代码示例 1.MyBuilderSupport 生成器代码 2.使用 MyBuilderSupport 生成器创建 Xml 代码 ...

  9. 【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )

    文章目录 一.创建 XmlParser 解析器 二.获取 Xml 文件中的节点 三.获取 Xml 文件中的节点属性 四.完整代码示例 一.创建 XmlParser 解析器 创建 XmlParser 解 ...

最新文章

  1. rj45接口引脚定义_简单修复数控主机网络接口通讯故障
  2. 中国女足绝地大逆转,爬取了微博评论区,评论很精彩
  3. Jupyter Notebook——设置Jupyter Notebook默认目录
  4. POJ - Til the Cows Come Home(Dijkstra)
  5. Mac vscode花屏问题解决
  6. 鸿蒙支持ps4手柄吗,PS5硬件兼容性测试:哪些PS4硬件可以在PS5上使用
  7. 黑莓手机刷linux,黑莓老机型ROM刷机资源
  8. 电脑开机计算机配置,电脑开机显示正在配置更新请勿关闭计算机 重新启动之后,电脑里的数...
  9. MikroTik(RouteOS)有线路由器快速设置教程
  10. paypal创始人_艾问PayPal创始人彼得·蒂尔(无删减)
  11. 在线正则表达式解析器和可视化工具
  12. IDEA编码小技巧(鼠标光标等等)
  13. Docker真正的入门
  14. 使用AWS迁移工具MGN迁移腾讯云到AWS
  15. NVIDIA jetson tensorrt加速yolov5摄像头检测
  16. 意外发现:安装搜狗输入法9.8正式版,没出现任何广告弹窗
  17. arya-sites模块的主要类
  18. 网络图片转换为文件类型(File)
  19. 程序员是干什么的呢?
  20. java水仙花数问题详细思路分析以及求解

热门文章

  1. codeforces869EThe Untended Antiquity(二维树状数组)
  2. 途志:新主播让自己的直播热起来有什么技巧?
  3. 计算机二级编程题题库
  4. 调用app出现This app is not allowed to query for scheme...
  5. Java生成四种格式的二维码
  6. 苹果手表支持心电图功能,可能还是逃不过噱头的命运
  7. 杨建允:抖快直播电商的运营逻辑是否可以复制
  8. MFC Windows 程序设计[192]之六只眼八卦图按钮组(附源码)
  9. node-sass弃用背景
  10. 快速新建多个文件夹,而且是指定名称的!