js dom 方法

JS DOM方法
document方法:
getElementById(id)Node返回指定结点的引用
getElementsByTagName(name)NodeList返回文档中所有匹配的元素的集合
createElement(name)NodeNode
createTextNode(text)Node创建一个纯文本结点
ownerDocumentDocument指向这个节点所属的文档
documentElementNode返回html节点
document.bodyNode返回body节点
element方法:
getAttribute(attributeName)String返回指定属性的值
setAttribute(attributeName,value)String给属性赋值
removeAttribute(attributeName)String移除指定属性和它的值
getElementsByTagName(name)NodeList返回结点内所有匹配的元素的集合
node方法:
appendChild(child)Node给指定结点添加一个新的子结点
removeChild(child)Node移除指定结点的子结点
replaceChild(newChild,oldChild)Node替换指定结点的子结点
insertBefore(newChild,refChild)Node在同一层级的结点前面插入新结点
hasChildNodes()Boolean如果结点有子结点则返回true
node属性:
nodeNameString以字符串的格式存放结点的名称
nodeTypeString以整型数据格式存放结点的类型
nodeValueString以可用的格式存放结点的值
parentNodeNode指向结点的父结点的引用
childNodesNodeList指向子结点的引用的集合
firstChildNode指向子结点结合中的第一个子结点的引用
lastChildNode指向子结点结合中的最后一个子结点的引用
previousSiblingNode指向前一个兄弟节点;如果这个节点就是兄弟节点,那么该值为null
nextSiblingNode指向后一个兄弟节点;如果这个节点就是兄弟节点,那么该值为null
jsdom 提供了多种操作方法,以下是一些常见的操作示例: 1. **从 HTML 字符串创建 JSDOM 对象**: ```python const jsdom = require("jsdom"); const { JSDOM } = jsdom; const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`); console.log(dom.window.document.querySelector("p").textContent); // "Hello world" ``` 此示例展示了如何使用 JSDOM 解析 HTML 并访问 DOM 元素,通过 `document.querySelector` 方法可以获取指定的 DOM 元素并获取其文本内容 [^2]。 2. **创建新的 DOM 元素并插入到文档中**: ```python const jsdom = require("jsdom"); const { JSDOM } = jsdom; const dom = new JSDOM(`<html><head></head><body></body></html>`); const document = dom.window.document; // 创建一个新的 div 元素 let newDiv = document.createElement("div"); // 给它一些内容 let newContent = document.createTextNode("设置 Text 文本!"); // 添加文本节点到这个新的 div 元素 newDiv.appendChild(newContent); // 设置属性 newDiv.setAttribute("class","uni-list"); newDiv.setAttribute("style","color: red;"); // 插入节点 document.querySelector('body').appendChild(newDiv); console.log(document.querySelector("html").outerHTML); ``` 该示例展示了如何创建新的 DOM 元素,设置其内容属性,并将其插入到文档中 [^3]。 3. **从 URL 构造 JSDOM 对象**: ```python JSDOM.fromURL("https://example.com/", options).then(dom => { console.log(dom.serialize()); }); ``` 这里使用了 `JSDOM.fromURL` 工厂方法,它返回一个 Promise,用于从指定的 URL 构造 JSDOM 对象 [^1]。 4. **使用 `jsdom.env` 方法**: ```python jsdom.env( "http://www.baidu.com", ["http://code.jquery.com/jquery.js"], function (err, window) { console.log(window.$('title').html()); console.log(window.$('.sizeBox').html()); } ); ``` `jsdom.env` 方法可以指定网址注入的 JavaScript 文件地址,在回调函数中可以得到 `window` 对象,从而进行 DOM 操作 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值