建网站的流程费用,智慧旅游类网站开发商,外贸平台有那些,门户网站建设相关需求获取元素节点
获取元素节点的子节点
元素节点的属性
节点的修改 JavaScript中的DOM#xff08;文档对象模型#xff09;是一种编程接口#xff0c;它允许JavaScript与HTML文档交互。创建DOM查询#xff0c;可以使用多种方法.
获取元素节点
1. getElementById()
– 通…
获取元素节点
获取元素节点的子节点
元素节点的属性
节点的修改 JavaScript中的DOM文档对象模型是一种编程接口它允许JavaScript与HTML文档交互。创建DOM查询可以使用多种方法.
获取元素节点
1. getElementById()
– 通过id属性获取一个元素节点对象
var element document.getElementById(elementID);
2. getElementsByTagName()
– 通过标签名获取一组元素节点对象
var elements document.getElementsByTagName(tagname);
3. getElementsByName()
– 通过name属性获取一组元素节点对象
let nameInputs document.getElementsByName(name);
获取元素节点的子节点
1. getElementsByTagName()
– 该方法返回指定标签名的后代节点列表可以是单个元素或多个元素。例如以下代码会返回所有的 p 元素
bodyh1标题/h1p这是段落1/pp这是段落2/pulli列表项1/lili列表项2/li/ul
/body
const paragraphs document.getElementsByTagName(p);
console.log(paragraphs); // NodeList(2) [ p这是段落1/p, p这是段落2/p ]
2. childNodes
– 该属性返回当前节点包含的所有子节点。包括元素节点、文本节点、注释节点等。例如以下代码会返回 body 元素的所有子节点
bodyh1标题/h1p这是段落/p
/body
const bodyNode document.body;
const childNodes bodyNode.childNodes;
console.log(childNodes); // NodeList(3) [ #text , h1标题/h1, #text ]
3. firstChild
– 该属性返回当前节点的第一个子节点。如果节点没有子节点则返回 null。例如以下代码会返回 body 元素的第一个子节点
bodyh1标题/h1p这是段落/p
/body
const bodyNode document.body;
const firstChild bodyNode.firstChild;
console.log(firstChild); // #text
4. lastChild
– 该属性返回当前节点的最后一个子节点。如果节点没有子节点则返回 null。例如以下代码会返回 body 元素的最后一个子节点
bodyh1标题/h1p这是段落/p
/body
const bodyNode document.body;
const lastChild bodyNode.lastChild;
console.log(lastChild); // #text
元素节点的属性
• 获取元素对象.属性名元素节点的属性指的是元素节点对象如div、p、input等所具有的属性。常见的元素节点属性有value、id、className等。其中value属性对应的是输入框、文本框等表单元素的值id属性对应的是元素的唯一身份标识符className属性对应的是元素的CSS类名。
例
element.value
element.id
element.className
input typetext idusername classinputStyle valueJohn Doe
scriptconst inputEle document.getElementById(username);console.log(inputEle.value); // 输出John Doeconsole.log(inputEle.id); // 输出usernameconsole.log(inputEle.className); // 输出inputStyle
/script
• 设置元素对象.属性名新的值
例element.value “hello”
element.id “id01”
element.className “newClass”
//首先获取了一个id为“username”的输入框然后使用该元素对象的属性获取了其value、id、className属性的值并输出到控制台中。接着将该输入框的value、id、className属性的值分别设置成了“Jane Doe”、“userid”、“newInputStyle”最后再次输出该输入框的标签input typetext idusername classinputStyle valueJohn Doe
scriptconst inputEle document.getElementById(username);inputEle.value Jane Doe;inputEle.id userid;inputEle.className newInputStyle;console.log(inputEle); // 输出input typetext iduserid classnewInputStyle valueJane Doe
/script
• nodeValue
– 文本节点是指节点包含文本内容的节点可以通过nodeValue属性获取和设置文本节点的内容。例如以下代码创建了一个文本节点并获取了它的内容
var text document.createTextNode(Hello world!); //创建文本节点
var content text.nodeValue; //获取文本节点的内容
console.log(content); //输出Hello world!
text.nodeValue Goodbye world!; //设置文本节点的内容
console.log(text.nodeValue); //输出Goodbye world!
• innerHTML
– 元素节点是指节点包含开始和结束标签的节点可以通过innerHTML属性获取和设置元素节点内部的html代码。例如以下代码获取了一个div元素节点内部的html代码并将其修改为一个带有链接和图片的html代码
var div document.getElementById(myDiv); //获取div元素节点
var content div.innerHTML; //获取div元素节点内部的html代码
console.log(content); //输出原始html代码
div.innerHTML a hrefhttps://www.google.com/Google/abrimg srcimage.jpg; //设置新的html代码
console.log(div.innerHTML); //输出新的html代码
节点的修改
• 创建节点
– document.createElement(标签名)
// 创建一个新的段落元素节点
let p document.createElement(p);// 添加一些文本内容
p.textContent 这里是一个新创建的段落。;// 将该段落添加到文档中的body元素中
document.body.appendChild(p);
• 删除节点
– 父节点.removeChild(子节点)
// 获取要删除的节点
let p document.querySelector(p);// 获取其父节点并删除该子节点
p.parentNode.removeChild(p);• 替换节点
– 父节点.replaceChild(新节点 , 旧节点)
// 获取要被替换的旧节点
let oldP document.querySelector(p);// 创建一个新的段落元素节点
let newP document.createElement(p);
newP.textContent 这是新的段落。;// 获取其父节点并用新节点替换旧节点
oldP.parentNode.replaceChild(newP, oldP);
• 插入节点
– 父节点.appendChild(子节点)
// 创建一个新的段落元素节点
let p document.createElement(p);
p.textContent 这是一个新的段落。;// 获取将要添加新节点的父节点
let parent document.querySelector(#parent);// 在父节点的末尾添加新节点
parent.appendChild(p);
– 父节点.insertBefore(新节点 , 旧节点)
// 创建一个新的段落元素节点
let p document.createElement(p);
p.textContent 这是一个新的段落。;// 获取将要添加新节点的父节点
let parent document.querySelector(#parent);// 获取将要插入的位置的子节点
let referenceNode parent.querySelector(div);// 将新节点插入到该位置之前
parent.insertBefore(p, referenceNode);