要模拟window.document来测试以DOM为中心的JavaScript,可以使用一些工具和技术来实现。下面是一种常见的方法:
jsdom
模块来创建一个虚拟的DOM环境。
npm install --save-dev jest jsdom
dom.test.js
。jsdom
函数来创建一个虚拟的DOM环境,并将其赋值给全局变量。
const { JSDOM } = require('jsdom');
// 创建虚拟的DOM环境
const dom = new JSDOM('<!DOCTYPE html><html><body></body></html>');
// 将虚拟的window对象赋值给全局变量
global.window = dom.window;
global.document = dom.window.document;
window
和document
来模拟DOM环境。
// 示例测试用例
test('测试DOM操作', () => {
// 模拟DOM操作
document.body.innerHTML = '<div id="myDiv">Hello, World!</div>';
// 断言DOM操作的结果
expect(document.getElementById('myDiv').textContent).toBe('Hello, World!');
});
npx jest dom.test.js
这样,就可以使用Jest和jsdom来模拟window.document进行以DOM为中心的JavaScript测试了。需要注意的是,这只是一种常见的方法,实际上还有其他工具和技术可以实现类似的效果。具体选择哪种方法取决于个人偏好和项目需求。
jquery
[] jquery概念
jquery是JS的框架。
JS的函数库。
【】BOM
BOM:Browser Object Model
BOM对象:
1.window:BOM根对象
2.window.navigator 浏览器对象
3.window.location : URL地址对象
4.window.document: 文档对象。
5.window.history 历史对象
【】DOM
DOM根对象:window.document 表示浏览器载入的文档在内存中模型。
DOM模式的格式:树。
每个标记表示一个对象,在树中是一个节点。
1. JS定位一个节点方法
(1)根据ID定位:var div=document.getElementById("id"); 返回一个对象
(2)根据标记名定义:var div=document.getElemenetByTagName("div");
返回对象的数组。
(3) 根据CSS选择器选择对象:
var ob=document.querySelector("css选择器");返回满足选择器的第一个对象
例子:
<input type="text" name="userid" id="userid" />
var userid=document.querySelector("input[name='userid']");
var userid=document.querySelector("#userid");
var userid=document.querySelector("input");
(4) 返回所有的选择器选择的对象:返回对象数组。
document.querySelectorAll("CSS选择器")
【】DOM操作节点对象
1.读/写节点的内容
领取专属 10元无门槛券
手把手带您无忧上云