html文档都会变成
返回当前文档状态
// 跳转到另一个网址
document.write(‘hello’) 在页面上清空了 并创建了一个新的文档流
如果页面已经渲染完成再调用write方法,它会先调用open方法,擦除当前文档所有内容,然后再写入。
如果在页面渲染过程中调用write方法,并不会调用open方法。
除了documnet对象,在DOM中最常用的就是Element对象了,ELement对象表示HTML元素
getElementById()
getElementById方法返回匹配指定ID属性的元素节点。如果没有发现匹配的节点,则返回null。这也是获取一个元素最快的方法
getElementByclass()
getElementByclass()[0]
getElementByclass()[1]
getElementByName()
与css保持一致的选择元素方法
document.createElement(‘div’)
DocumentFragment对象是一个存在于内存
var navbarNode = document.querySelector('.navbar')
var fragment = document.createDocumentFragment()
for(var i = 0; i<5; i++){
var child = document.createElement('li')
var text = document.createTextNode("helloworld")
child.appendChild(text)
fragment.append(child)
}
navbarNode.append(fragment)
link.setAttribute(‘id’,login)
link.getAttribute(‘id’)
得到一个属性
link.removeAttribute(‘id’)
删除一个属性
1.ajax获取数据
2.字符串的拼接
3.把字符串放到页面上去
JS Bin
可修改元素的样式
getComputedStyle(document.querySelector(’#hello’)).font-size
var nodeBox = document.querySelector(’.box’)
console.log( nodeBox.classList )
nodeBox.classList.add(‘active’) //新增 class
nodeBox.classList.remove(‘active’) //删除 class
nodeBox.classList.toggle(‘active’) //新增/删除切换
node.classList.contains(‘active’) // 判断是否拥有 class
有滚动条的时候里面内容真实的高度
还包括上面的margin的高度
页面已经滚动的值
-他们细微的方法有不一样
- 鼠标放置查看图片1
- 鼠标放置查看图片2
- 鼠标放置查看图片3
- 这里是
- 饥人谷
链接
使用getComputedStyle获取元素计算后的样式,不要通过node.style属性获得
var node = doucument.querySelector('p')
var color = window.getConputedStyle(node).color
console.log(color)
function css(node, styleObj){
for(var key in styleObj){
node.style[key] = styleObj[key]
}
}
css(document.body, {
'color': 'red',
'background-color': '#ccc'
})
document.doctype
document.title
document.characterSet
document.head
document.body
document.images
document.location
创建元素
var newDiv = document.createElement("div");
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
var docFragment = document.createDocumentFragment();
添加元素
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.appendChild(newContent);
var newDiv = document.createElement("div");
var newContent = document.createTextNode("Hello");
newDiv.insertBefore(newContent, newDiv.firstChild);
newDiv.replaceChild(newElement, oldElement);