javascript文档对象模型

文档对象模型的概念:

DOM(Document Object Model)是文档对象模型的简称;

可以把HTML 文档中的每个成分看成一个节点,所以DOM 的核心操作是查看节点、创建节点、增加节点、删除节点以及替换节点。

节点的特点是:

1.整个文档是一个文档节点

2.每个HTML 标签是一个元素节点

3.包含在HTML 元素中的文本是文本节点

4.每个HTML 属性是一个属性节点

5.注释属于注释节点

6.HTML 文档中的节点彼此间都存在关系,类似一张家族图谱

document对象常用属性:

bgColor:设置背景颜色;

fgColor:设置文本背景颜色;

title:页面标题

document 对象查找 HTML 元素:

1.通过id查找html元素:

特点:id值唯一,可以精准定位元素对象

语法:document.getElementById("id");

innerHTML属性:  innerHTML属性是一个字符串,用来设置或获取位于对象起始和结束标签之间的HTML内容。

栗子:

<p>你好世界!</p>

p文本对象.innerHTML可以获取文本内容;

p文本对象.innerHTML="你好JavaScript";可以改变内容

2.通过 name 查找 HTML 元素:

特点:name值可以重复,一个页面可以获取多个name对象,所以返回值为数组类型。

语法:document.getelementsByName(name);

参数 name 为必选项,为字符串类型;

返回的数组对象遍历方式:

for(var i;i<objs.length;i++){

var obj=objs[i];//得到每一个元素对象

}

3.通过标签名查找html元素

特点:同一页面可以有多个相同的标签元素,所以获取元素对象个数为多个,返回值用数组对象存储;

语法:document.getelementsByTagName(tagname);

参数 tagname 为必选项,为字符串类型。

返回的数组对象遍历方式:

for(var i;i<objs.length;i++){

var obj=objs[i];//得到每一个元素对象

}

4.通过类名查找 HTML 元素

特点:同一页面可以有多个相同的标签元素,所以获取元素对象个数为多个,返回值用数组对象存储;

语法:document.getelementsByClassName(classname);

参数 classname 为必选项,为字符串类型.

返回的数组对象遍历方式:

for(var i;i<objs.length;i++){

var obj=objs[i];//得到每一个元素对象

}

改变元素的文本;

obj.innerHTML="新文本";

改变元素的样式:

obj.style.fontSize="17px";

注意:js中设置的样式名称和样式表中设置的不一样;

名称中间少了‘-’,fontSize;并且从第二个单词开始

首字母大写。

改变元素的属性:

obj.attribute="新的属性值";

栗子:obj.value="";//设置值

obj.src="";//设置路径

obj.checked="";//设置选中状态

obj.innerHTML="";//设置文本内容

DOM节点的操作:

在 DOM 中每个节点都具有访问其他节点的属性:

常见属性:

parentNode : 获取当前节点的父节点

childNodes : 获取当前节点的子节点(多个)

firstChild : 获取当前节点的第一个节点

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

previousSibling : 获取当前节点的前一个兄弟节点

nextSibling : 获取当前节点的后一个兄弟节点

节点类型的判断:

nodeType:

childNodes 属性,它返回当前节点的所有子节点,

其中子节点包括元素节点、属性节点和文本节点。

通过节点对象的 nodeType 属性可以判断属于哪种类型的节点。

当 nodeType 是 1 时就是元素节点;

   nodeType 为 2 时是属性节点;

   nodeType 为 3 时则是文本节点。

动态添加和删除节点:

添加节点:

步骤:

1.创建节点

var ele=document.createElement("节点名称");

  2.设置节点属性

ele.value = "";//设置值

ele.innerHTML = "";//设置文本内容

  3.将子节点追加到父节点上

ele.appendChild(子节点对象);

  4.将节点最终追加到body页面中显示

document.body.appendChild(ele);

删除节点:

语法:父节点.removeChild(子节点对象);

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值