哈喽大家好!
我是你们干货满满的小渡~
不知不觉,小渡已经陪伴大家学习了十期、共计40条口诀啦,大家有没有应用在实战中,为自身技术赋能呢?
本期【JS学习口诀】第十一弹,小渡将为大家带来dom继承树、dom基本操作、元素节点的一些属性以及js滚动条位置等四种简单实用的知识点口诀。
闲言少叙,一起来学习今天的口诀吧~记得关注收藏噢~
41 dom继承树
公有原型继承链,节点对象根相见。
文档对象和元素,dom操作最常注。
获得ID仅文档,头和身体属性爽。
标签类名选择器,文档元素均一气。
公有原型继承链,节点对象根相见。
getElementById() getElementsByName()
| |
| |
|-----|Document----HTMLDocument|---------》对象document
|
| Txt 文本节点
Node ---|-----CharacterData---|
| Comment 注释节点
|
|----Element------HTMLElement
文档对象和元素,dom操作最常注。
document对象 和 element对象 这是dom 操作中最常用的对象
获得 ID仅文档,头和身体属性爽。
getElementById()仅仅是定义在 Document 原型中 所以 Element后继对象不能使用这个方法
对于 body 和 head 这两个元素 已经封装成属性 直接存储在 document对象中了
使用时不用获取
标签类名选择器,文档元素均一气。
getElementsByTagName()
getElementsByClassName();
querySelector();
querySelectorAll();
这些方法在Document Element 对象中都有
42 dom基本操作
各种文档节点建,方法参数内容添。
元素文本和注释,还有文档碎片是。
父亲追加有权限,还可插入走在前。
父亲移出子元素,返回内容保留住。
父亲替换子元素,新旧参数前后住。
如果元素自移除,消失内存无影浮。
各种文档节点建,方法参数内容添。
元素文本和注释,还有文档碎片是。
通过js创建各种节点
父亲追加有权限,还可插入走在前。parentElement.appendChild();parentElement.insertBefore(备注加到 , 我的前边);
父亲移出子元素,返回内容保留住。
//删除元素
parentElement.removeChild("子元素"); 会返回这个子元素的dom 对象
测试删除
父亲替换子元素,新旧参数前后住。
//替换子元素
parentElement.replaceChild(新元素,旧元素);
如果元素自移除,消失内存无影浮。
elementSelf.remove() ;直接在内存中消失不会反悔任何东西
43 元素节点的一些属性
内部文档和文本,赋值属性覆盖稳。
文本问题火狐动,文本属性有内容。
属性获得与赋值,对应方法安排尺。
类名属性已封装,直接类名操作慌。
内部文档和文本,赋值属性覆盖稳。
innerHTML ; 获得一个元素内部的 HTML 内容 当然也可以赋值 赋值会覆盖原先内容
innerText; 获得一个元素内部所有的文本 如果赋值的话 会覆盖该元素内所有的东西
包括元素标签 也就是说拿只能拿到 文本 覆盖却可以覆盖所有
文本问题火狐动,文本属性有内容。
对于 innerText 这个老版本的火狐不支持 但是现在新版本是支持的
以前火狐有一个 textContent 和 innerText 一样
测试删除
哈哈我是a标签
属性获得与赋值,对应方法安排尺。
属性操作方法
getAttribut("key");
setAtrribute("key","value");
类名属性已封装,直接类名操作慌。
dom元素.clasName
dom元素.id
可以直接获得值 和赋值 还是那个 属性 和特性的问题
44 js滚动条位置
窗口对象有属性,页面横竖兼容停。
兼容往下 IE8,文档元素身体乏。
滚筒上左数据拿,封装二者值相加。
设置滚筒位置到,横竖位置填坐标。
三个方法两相同,还有一个累加用。
窗口对象有属性,页面横竖兼容停。
窗口对象 当然是 window啦
window.pageXOffset;
window.pageYOffset;
兼容往下 IE8,文档元素身体乏。
文档元素 documentElement
身体 body
IE8以下提供的获得的操作方法是
documen.body.scrollTop;
documen.body.scrollLeft;
或者是
document.documentElement.scrollTop;
document.documentElement.scrollLeft;
这两种方法有一个特点 即一个有值那么另一个一定没值
滚筒上左数据拿,封装二者值相加。
所以拿到 scrollLeft 和 scrollTop 的值之后
封装的时候将二者加起来即可
设置滚筒位置到,横竖位置填坐标。
设置滚动条到某个位置 参数填坐标 (x , y)即可
三个方法两相同,还有一个累加用。
设置滚动条位置有三个方法
window.scroll(x,y)
window.scrollTo(x,y); 这两个方法一样
window.scrollBy(x,y); 这个方法会累加值 比如说 30 没调用一次都会增加30
//封装获得滚动条的位置
function getLocation() {
var x = null;
var y = null;
if (window.pageXOffset) {
x = window.pageXOffset;
y = window.pageYOffset;
} else {
x = document.body.scrollLeft + document.documentElement.scrollLeft;
y = document.body.scrollTop + document.documentElement.scrollTop;
}
return {
pageX: x,
pageY: y
}
}