DOM
attribute&property
const div1 = document. getElementById ( 'div1' )
console. log ( 'div1' , div1)
const divList = document. getElementsByTagName ( 'div' )
console. log ( 'divList.length' , divList. length)
console. log ( 'divList[1]' , divList[ 1 ] )
const containerList = document. getElementsByClassName ( 'container' )
console. log ( 'containerList.length' , containerList. length)
console. log ( 'containerList[1]' , containerList[ 1 ] )
const pList = document. querySelectorAll ( 'p' )
console. log ( 'pList' , pList)
const pList = document. querySelectorAll ( 'p' )
const p1 = pList[ 0 ]
p1. style. width = '100px'
console. log ( p1. style. width )
p1. className = 'red'
console. log ( p1. className )
console. log ( p1. nodeName)
console. log ( p1. nodeType)
p1. setAttribute ( 'data-name' , 'imooc' )
console. log ( p1. getAttribute ( 'data-name' ) )
p1. setAttribute ( 'style' , 'font-size: 50px;' )
console. log ( p1. getAttribute ( 'style' ) )
节点
const div1 = document. getElementById ( 'div1' )
const div2 = document. getElementById ( 'div2' )
const newP = document. createElement ( 'p' )
newP. innerHTML = 'this is newP'
div1. appendChild ( newP)
const p1 = document. getElementById ( 'p1' )
div2. appendChild ( p1)
console. log ( p1. parentNode )
const div1ChildNodes = div1. childNodes
console. log ( div1. childNodes )
const div1ChildNodesP = Array . prototype. slice . call ( div1. childNodes) . filter ( child => {
if ( child. nodeType === 1 ) {
return true
}
return false
} )
console. log ( 'div1ChildNodesP' , div1ChildNodesP)
div1. removeChild ( div1ChildNodesP[ 0 ] )
性能
const list = document. getElementById ( 'list' )
const frag = document. createDocumentFragment ( )
for ( let i = 0 ; i < 20 ; i++ ) {
const li = document. createElement ( 'li' )
li. innerHTML = ` List item ${ i} `
frag. appendChild ( li)
}
list. appendChild ( frag)
console. log ( list)
BOM
navigator.userAgent
location.href
location.host
location.protocol
history.back
history.forward