Dom第三天学习总结

来源:互联网 发布:嘲讽知乎 编辑:程序博客网 时间:2024/04/28 20:12
1.    document方法
    write();    向文档中写入内容
    writeln();    换行(但是在html中显示不出换行效果,只是有一个空格)
                是在源代码中换行,与<br/>不一样
    在onclick等事件中写的代码会冲掉页面中的内容,只有在页面加载过程中write才会与原有内容融合在一起,
    比如说在body标签里 用document.write()
    document.write()经常在广告代码、整合资源代码中被使用。
    内容联盟、广告代码、cnzz,不需要被主页面的站长去维护内容,只要被嵌入的js内容提供商修改内容,
    显示的内容就变了

2.    document属性    --是window对象中最复杂的属性
    因为使用window对象成员的时候省略window,所以一般直接写document
    
    获取元素的三种方法
    方法1:getElementById()        页面中的元素id是不重复的
    方法2:getElementsByName()        页面中的元素name是可能重复的,所以返回的可能是对象的集合
    方法3:getElementsByTagName()    获得指定标签名称的元素数组
    
    注意一点:    html中的属性及值为相同的情况 如<input id = "btn" disable = "disable" />
                在JS中做控制的时候使用document.getElementById('btn').disable = true/false;
                html中的属性带- 如background-color
                在JS中要写成 dvObj.style.backgroundColor = 'Yellow';

3.    事件冒泡
    如果元素A嵌套在元素B中,那么A被点击不仅A的onclick事件会被触发,B的onclick事件也会被触发。
    触发的顺序是“由内而外”。
    
    window.event.srcElement 事件源 最先触发该事件的元素
    
    取消事件冒泡:window.event.cancelBubble = true;        IE下写法
    span设置display:block,以后再设置height width才有效
    
4.    事件中的this
    在事件响应函数中使用this获得发生事件的控件,
    在事件响应函数调用的函数中不能使用(这里this表示window对象)
    如果要使用,则要将this传递给函数或者使用event.srcElement
    this和srcElement的语义是不一样的,
    this表示当前监听的这个对象
    event.srcElement是引发事件的对象:事件冒泡
    
5.    动态创建DOM
    document.write只能在页面加载过程中才能动态创建
    document.createElement方法来创建具有指定标签的DOM对象,
    然后通过调用某个元素的appendChild方法将新创建的元素添加到相应的元素下
    removeChild(子元素对象):删除元素
    //创建元素
    var dvObj = document.createElement('div');
    //把元素添加到body中
    document.body.appendChild(dvObj);
    
    insertBefore(new,参照):把节点加到前面(插到某个节点前面)
    属性:firstChild lastChild
   
0 0
原创粉丝点击