- DOM是哪种基本的数据结构?
- DOM操作常用API有哪些?
- DOM节点的attr和property有何区别?
- 如何检测浏览器的类型?
- 拆解URL的各个部分
特点:表面看来并不能用于工作中开发代码
常说的JS(浏览器执行的JS)包含两部分:JS基础知识(ECMA262标准)和JS-Web-API(W3C标准)
全面考虑,JS内置的全局函数和对象有哪些?
XML是一种可扩展的描述语言,可以描述任何结构化的数据
DOM:浏览器把拿到的HTML代码,结构化一个浏览器能识别并且JS可操作性的一个模型
QuerySelector/QuerySelectorAll和getElementById/getElementsByClassName的区别
// div1、divList、containerList、pList都是JS对象
var div1 = document.getElementById('div1'); // 元素
var divList = document.getElementByTagName('div'); // 集合
console.log(divList.length);
console.log(divList[0]);
var containerList = document.getElementByClassName('.container'); // 集合
var pList = document.querySelectorAll('p'); // 集合
var pList = document.querySelectorAll('p');// 集合
var p = pList[0];
console.log(p.style.width); // 获取样式
p.style.width='100px'; // 修改样式
console.log(p.className); // 获取class
p.className='p1'; // 修改class
// 获取nodeName和nodeType
console.log(p.nodeClass)
console.log(p.nodeType)
var pList = document.querySelectorAll('p'); // 集合
var p = pList[0];
p.getAttribute('data-name');
p.setAttribute('data-name', 'imooc');
p.getAttribute('style');
p.setAttribute('style', 'font-size:30px;');
针对树的操作
var div1 = document.getElementById("div1");
var parent = div1.parentElement;
在使用childNodes获取子元素时,换行也会算作1个text,计为1个Node
var div1 = document.getElementById("div1");
var child = div1.childNodes;
console.log(child[0].nodeType) // text 3
console.log(child[1].nodeType) // p 1 标签都是1
console.log(child[0].nodeName) // text #text
console.log(child[1].nodeName) // p P
var div1 = document.getElementById('div1')
// 添加新节点
var p1 = document.createElement('p')
p1.innerHTML = 'this is p1'
div1.appendChild(p1) // 添加新创建的元素
// 移动已有节点
var p2=document.getElementById('p2')
div1.appendChild(p2)
var div1 = document.getElementById('div1');
var child = div1.childNodes;
div1.removeChild(child[0]); // 可能看不到效果,因为删除的child[0]可能是1个因换行引起的text Node
var ua = navigator.userAgent;
var isChrome = ua.indexof('Chrome');
console.log(isChrome);
console.log(screen.width);
console.log(screen.height);
console.log(location.href); // 整个url
location.protocol; //协议:http or https
location.host; // 域名
location.pathname; // 路径
location.search; // ?后的参数
location.hash // #后面是哈希
history.back(); // 返回
history.forward(); // 前进
- DOM是哪种基本的数据结构?
树
- DOM操作常用API有哪些?
- DOM节点的attr和property有何区别?
- 如何检测浏览器的类型?
var ua = navigator.userAgent;
var isChrome = ua.indexof('Chrome');
console.log(isChrome);
- 拆解URL的各个部分
console.log(location.href); // 整个url
location.protocol; //协议:http or https
location.host; // 域名
location.pathname; // 路径
location.search; // ?后的参数
location.hash // #后面是哈希