javascript(DOM)

DOM

Document Object Model( 文档对象模型 )

是把html里面的各种数据当作对象进行操作的一种思路。 一个html页面被浏览器加载的时候,浏览器会对整个html页面上的所有标签都创建一个对应的对象进行描述。

页面对象组建成Document文档树,文档树每个标签对象都称作节点(Node)。组建好之后,按照树的结构将页面显示在浏览器的窗口中

只要能找到对应的对象操作对象的属性,则可以改变浏览器当前显示的内容。(通过js操控html:   获取节点—>设置属性

注意:js代码要写在文档之后、或者写在window.onload里面(等对象转载完成)才能获取文档树

HTML DOM 定义了访问和操作HTML文档的标准方法,详细内容查看DHTML文档


节点

document      代表当前页面的整个文档树

属性:
all      获取html文件中的所有标签节点
links      获取文档中含有href的属性的标签
body

获取 元素节点:

document.getElementById("元素的id")
document.getElementsByTagName("标签名")   返回元素数组
document.getElementsByClassName("元素的class")   返回节点数组
document.getElementsByName("元素的name")   元素节点

错误:无法获取/获取null
//javascript是解释语言,是顺序执行的。 在执行到 document.getElementById的时候,div标签还没有加载,所以无法获取。

获取 属性节点, 内容节点 

var 元素节点=document.getElementById();  //获取元素节点

//获取属性节点
var 属性节点=元素节点.attributes;        //获取其下所有的属性节点(数组)
for(i = 0; i< 属性节点.length; i++){    //遍历
    属性节点[i].nodeName;    //表示一个节点的名称
    属性节点[i].nodeValue;   //表示一个节点的值
}

//获取内容节点
var 内容节点=元素节点.childNodes[0];
内容节点.nodeName;    //内容节点名
内容节点.nodeValue;    //内容节点值

 节点的属性

nodeName	节点名称
nodeValue	节点值
nodeType	节点类型
innerHTML	元素的文本内容

元素上的属性
    id
    value
    className

节点关系

通过关系(父子关系、兄弟关系)找节点:

parentNode 获取当前元素的父节点。

childNodes 获取当前元素的所有下一级子元素。

firstChild 获取当前节点的第一个子节点。

lastChild 获取当前节点的最后一个子节点。

nextSibling     获取当前节点的下一个节点。(兄节点)
previousSibling    获取当前节点的上一个节点。(弟节点)

创建 节点

createElement	创建元素节点
createTextNode	创建文本节点
createAttribute	创建属性节点

设置节点的属性:

var elt=document.createElement("标签名")     创建新标签元素节点

elt.setAttribute("属性名", "属性值")    给节点设置属性

elt.appendChild(e)    添加元素到elt中最后的位置

插入目标元素的位置

elt.insertBefore(newNode, oldNode);    添加到elt中,child之前。   注意: elt必须是oldNode的直接父节点。

elt.removeChild(child);    删除指定的子节点。   注意: elt必须是child的直接父节点

删除节点

替换节点

插入节点

Canvas.getContext(contextID)   方法返回一个用于在画布上绘图的环境


样式

一个元素节点的style属性即对应的css

元素节点.style.display="none";  //none隐藏,block显示
元素节点.style.backgroundColor="green";  //背景色

事件

事件驱动:JS代码写好后,需要外界触发后,方可运行,例如:单击事件,定时执行···

注册事件的方式:
方式一: 直接在html元素上注册

<body onload="ready()">
function ready(){
    alert("body的元素被加载完毕了..");
}

方式二:可以js代码找到对应的对象再注册。 推荐使用

var bodyNode = document.getElementById("body");
bodyNode.onload = function(){
    alert("body的元素被加载完毕");
}

常用事件

鼠标点击:

onclick    在用户用鼠标左键单击对象时触发。

ondblclick    当用户双击对象时触发。

onmousedown    当用户用鼠标按钮按下对象时触发。

onmouseup    当用户在鼠标按钮松开对象时触发。

鼠标移动:

onmouseout    当用户将鼠标指针移出对象边界时触发。

onmousemove    当用户将鼠标划过对象时触发。

焦点:

onblur    在对象失去输入焦点时触发。

onfocus    当对象获得焦点时触发。

其他:

onchange    当对象或选中区的内容改变触发。

onload    在浏览器完成对象的装载立即触发。

onsubmit    当表单将要被提交触发。事件方法返回true提交,false不允许提交

this    当前组件


正则表达式:

创建方式:
方式1

正则表达式 模式

方式2

new RegExp("正则表达式",模式);

正则表达式对象常用方法:

test()    使用正则对象去匹配字符串 如果匹配成功返回ture,否则返回false.

exec()    根据正则表达式去查找字符串符合规则的内容。

模式:

g (全文查找出现的所有 pattern)

i (忽略大小写)

 

猜你喜欢

转载自blog.csdn.net/xyc1211/article/details/83957524
今日推荐