dom编程加强.dom对象(document②.body) | 您所在的位置:网站首页 › js添加dom对象到body › dom编程加强.dom对象(document②.body) |
dom对象详解-document对象2 加强
table可以看成元素,也可以看成dom的一个内置对象dom会将所有元素当成一个节点来对待有的html对象会当成dom内置对象html元素都会被当成节点,但不一定会被当成内置对象当成node对象,就支持各种方法和属性head就没有当成内置对象id属性和div元素是平级 在dom编程中,一个html文档会被当作 dom 树来对待,dom会把所有的 html 元素映射成Node节点 于是 你就可以使用Node节点(对象)的属性和方法。 Node节点属性和方法 dom有5个级别,不同的级别,方法是不一样的相同的方法和属性可以去查xml dom的节点提供的属性和方法dom对象就是html元素 node类型属性都当作节点类型,譬如id 属性节点 注释节点 文本节点 文档节点 html节点 ★nodeValue 对于文本节点,nodeValue 属性包含文本。对于属性节点,nodeValue 属性包含属性值。nodeValue 属性对于文档节点和元素节点是不可用的。获取文本节点公式:元素节点.innerHTML 或者: 直接写个文本,然后通过之前一个节点获取 document.writeln(node.nextSibling.nodeValue); 获取属性节点注意获取属性节点值的时候,不需要加nodeValue ★经典案例1我们使用Node节点的属性和方法来举一个例子:
function test(){ //获取div1(乌龟 鸡所在div),这个div也是一个Node节点,可以使用节点的方法 var Div1=$("div1"); window.alert(Div1.nodeName);div window.alert(Div1.nodeType);//nodeType为1 ,表示是一个元素 window.alert(Div1.nodeValue);null,这块有点问题,要研究一下 window.alert(Div1.childNodes.length); childNodes获取所有的子节点,这里返回5,明明下面只有两个img子节点怎么会返回5个呢?这里它把末尾的换行符也当成是一个子节点了,只是我们看不到而已,这个很神奇,该节点为#text如果将下面的div移动上去,没有换行了ulteredit可以看到 //注释也是一个节点,而且是这个div的兄弟节点,这里是下一个节点 //注释的nodeType 值为8 后一个节点,兄弟节点,是同一级的下一个或者上一个节点 sibling兄弟 value是注释本身 window.alert(Div1.nextSibling.nodeName+" "+Div1.nextSibling.nodeType+" "+Div1.nextSibling.value); //获取这个div的前一个节点 window.alert(Div1.previousSibling.nodeName+" "+Div1.previousSibling.nodeType+" "+Div1.previousSibling.value); //得到父节点,为body window.alert("父亲节点:"+Div1.parentNode); //得到父节点的父节点 html window.alert("父亲的父亲节点:"+Div1.parentNode.parentNode); } function $(id){ return document.getElementById(id); } 特别注意:经过测试,每个对象的前后的换行符都会被认为是一个节点,所以在寻找某个元素的 子节点,父节点,兄弟节点的时候一定要注意它的换行符! ★经典案例2-table子节点 这个子节点长度是2一个是tbody,一个是换行这是因为table标签后面本来是有tbody标签的,不过我们一般都不写,而浏览器会自动帮我们补上了,我查过了tr标签的父级节点是tbody,tbody的父级节点才是table!这有点坑爹! ★document对象的属性 常用属性 经典案例背景色,前景色 document.fgColor="white"; document.bgColor="black"; Hello ★dom对象详解-body对象 属性和方法 body对象代表文档主体是document对象的一个属性,可以通过document.body方式来访问
会报空,body还没有创建好 onunload事件,网上银行,安全推出时候,在客户端,或者服务端删除用户数据 有的人直接推出,会保留用户数据,存在安全隐患 初学者很多时候 不知道知识点在哪里可以应用 innerText、innerHTML 这里有很多方法已经用过了,所以就不讲了,这里强调一下下面两个方法 的区别appendChild()和removeChild(),是所有节点都有的并不是body独有innerText 和innerHTML 一起使用的时候,起作用的是后者举例说明:
function test(){ //innerText 浏览器会把它当作 文本来解析 $("myspan").innerText="连接到百度"; //innerHTML 浏览器会把它当作 html来解析 后面必须大写 $("myspan").innerHTML="连接到百度"; } function $(id){ return document.getElementById(id); } onselectstart和onscroll事件 简介滚动的时候,广告随着走 如果不跟着走,商家不给钱 scroll点在窗口的左上角 onselectstart有时候不想被粘贴拷贝 ★经典案例-飘动的广告
function test(){ window.alert(document.body.scrollTop+150+"px"); window.alert(document.getElementById("myHref").style.top); documentElement 属性可返回文档的根节点。根节点的scrolltop属性的位置是不变变的不能用body,body节点的scrolltop属性的位置是变的document.getElementById("myHref").style.top=document.documentElement.scrollTop+150+"px"; document.getElementById("myHref").style.left=document.body.scrollLeft+50+"px"; } function window_onscroll(){ document.getElementById("myHref").style.top=document.body.scrollTop+150+"px"; document.getElementById("myHref").style.left=document.body.scrollLeft+50+"px"; // return true; } function document_onselectstart() { return false; 返回false,这样就可以禁止用户选择网页中的文本当用户选择文本时,会触发 onselectstart事件,当返回false时,就不会选中你也可以在body中加入 onselectstart = "return false;" 同样达到这个效果} Ó另外一种写法 for代表事件发生在document上event代表对这个事件进行处理要知道有这种写法,这种方法现在不支持 //这样的写法等同于在 body 上 写onselectstart = "return false;" return document_onselectstart(); word-break文本元素换行规则 语法: word-break : normal | break-all | keep-all 全角半角全角和半角是什么?有什么区别 其实全角和半角是针对中文输入法输入字符的不同状态 全角模式:输入一个字符占用2个字符, 半角模式:输入一个字符占用1个字符。 全角模式输出的字符和半角不同,但是汉字的话2个模式都是占用2个字符 某些特殊的函数,比如命令就不能用全角输入 连字符:是用于一个合成词的两部分之间的或一个单词的字节之间的一种标点符号, 尤其是一行或一段结束时用。 连字符只指“中划线”,不包括上划线和下划线。 |
CopyRight 2018-2019 实验室设备网 版权所有 |