D1.DOM-获取DOM元素、修改属性

D1.DOM-获取DOM元素、修改属性,第1张

DOM:DOM(Document Object Model)文档对象模型 是用来呈现以及与任意 HTML 或 XML文档交互的API

作用:1实现网页特效

2实现用户交互

DOM树:1将 HTML 文档以树状结构直观的表现出来

2作用:文档树直观的体现了标签与标签之间的关系

DOM对象:浏览器根据html标签生成的 JS对象

DOM的核心思想:把网页内容当做对象来处理

演示其他获取元素语法(了解)

通过id名来获取

documentgetElementById('box')

通过类名来获取

documentgetElementsByClassName('box')

通过标签名来获取

documentgetElementsByTagName('ul')

1innerText

2innerHTML

细节:innerText 与 innerHTML 设置内容的时候,会覆盖原有的内容

如何实现把原本的内容也带上?

1设置/修改元素常用属性(src 、title等属性)

语法:对象属性 = 值

2通过类名 *** 作CSS

注意说明:

1 在JS中使用className表示类名,因为class在js中是个关键字在标签上,class属性表示类名,但在js中使用className表示类名

2 使用className有 覆盖 问题

3通过style控制样式属性

语法:对象style样式属性名 = 值

通过style *** 作样式 本质上 设置行内样式

4表单的属性设置 (value、type、disabled、checked、selected)

语法

获取: 对象属性名

设置: 对象属性名 = 值

定时器函数

作用: 每隔一段时间,就会来调用函数

注意易错

如下写法,会将fn() 立即调用,就没有了定时效果

setInterval(fn(), 1000) // 错误效果

(1) documentgetElementById(elementId):该方法通过节点的ID,可以准确获得需要的元素,是比较简单快捷的方法。如果页面上含有多个相同id的节点,那么只返回第一个节点。

如今,已经出现了如prototype、Mootools等多个JavaScript库,它们提供了更简便的方法:$(id),参数仍然是节点的id。这个方法可以看作是documentgetElementById()的另外一种写法,不过$()的功能更为强大,具体用法可以参考它们各自的API文档。

(2)documentgetElementsByName(elementName):该方法是通过节点的name获取节点,从名字可以看出,这个方法返回的不是一个节点元素,而是具有同样名称的节点数组。然后,我们可以通过要获取节点的某个属性来循环判断是否为需要的节点。

例如:在HTML中checkbox和radio都是通过相同的name属性值,来标识一个组内的元素。如果我们现在要获取被选中的元素,首先获取该组元素,然后循环判断是节点的checked属性值是否为true即可。

(3)documentgetElementsByTagName(tagName):该方法是通过节点的Tag获取节点,同样该方法也是返回一个数组,例如:documentgetElementsByTagName('A')将会返回页面上所有超链接节点。在获取节点之前,一般都是知道节点的类型的,所以使用该方法比较简单。但是缺点也是显而易见,那就是返回的数组可能十分庞大,这样就会浪费很多时间。那么,这个方法是不是就没有用处了呢?当然不是,这个方法和上面的两个不同,它不是document节点的专有方法,还可以应用其他的节点,下面将会提到。

(1)parentObjfirstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持parentObjfirstChildfirstChildfirstChild的形式,如此就可以获得更深层次的节点。

(2)parentObjlastChild:很显然,这个属性是获取已知节点(parentObj)的最后一个子节点。与firstChild一样,它也可以递归使用。

在使用中,如果我们把二者结合起来,那么将会达到更加令人兴奋的效果,即:parentObjfirstChildlastChildlastChild

(3)parentObjchildNodes:获取已知节点的子节点数组,然后可以通过循环或者索引找到需要的节点。

注意:经测试发现,在IE7上获取的是直接子节点的数组,而在Firefox20011上获取的是所有子节点即包括子节点的子节点。

(4)parentObjchildren:获取已知节点的直接子节点数组。

注意:经测试,在IE7上,和childNodes效果一样,而Firefox20011不支持。这也是为什么我要使用和其他方法不同样式的原因。因此不建议使用。

(5)parentObjgetElementsByTagName(tagName):使用方法不再赘述,它返回已知节点的所有子节点中类型为指定值的子节点数组。例如:parentObjgetElementsByTagName('A')返回已知的子节点中的所有超链接。

(1)neighbourNodepreviousSibling:获取已知节点(neighbourNode)的前一个节点,这个属性和前面的firstChild、lastChild一样都似乎可以递归使用的。

(2)neighbourNodenextSibling:获取已知节点(neighbourNode)的下一个节点,同样支持递归。

(1)childNodeparentNode:获取已知节点的父节点。

上面提到的方法,只是一些基本的方法,如果使用了Prototype等JavaScript库,可能还获得其他不同的方法,例如通过节点的class获取等等。不过,如果能够灵活运用上面的各种方法,相信应该可以应付大部分的程序。

js获取html元素的方式

+通过ID获取:getElementById('id属性值')

+通过标签名:getElementsByTagName('标签名')

+通过类名:getElementsByClassName('类名')

+通过name属性:getElementsByName('name属性值')

+通过选择器获取一个元素:querySelector

+通过选择器获取一组元素:querySelectorAll

1获取id值为d1的html元素

将获取到的html元素称为DOM节点对象,必须传参数,参数是string类型,是获取元素的id。返回值只获取到一个元素,没有找到返回null。

2通过标签名:getElementsByTagName('标签名')

参数是是获取元素的标签名属性,不区分大小写,根据标签名获取html元素, 返回的是一个数组(伪数组) 

通过类名:getElementsByClassName('类名')

参数是元素的类名,返回值是一个类数组,没有找到返回空数组。

通过类名:getElementsByClassName('类名')

必须传参数,参数是是获取元素的name属性,返回值是一个类数组,没有找到返回空数组。

通过选择器获取一个元素:querySelector

参数是选择器,返回值只获取到第一个元素。

通过选择器获取一组元素:querySelectorAll

参数是选择器,返回值是一个数组。

可以先获取所有相同class的标签,然后获取标签的个数。

1、新建html文档,在body标签中添加一些div标签,并为这些div标签设置一些类,然后引入jquery文件:

2、使用jquery获取所有相同类名的标签,格式为$('class名'),这时所有相同类名的标签会被选中:

3、获取标签之后,使用length属性获取标签的个数,这时相同类名的个数就被获取到了:

jQueryjs 中:

$("img a")

或者:

$("ulimg>li>a") 这个更为严格

Beautiful Soup 中:

把上面的 $ 换成 bsselect即可

1 、类别选择器

2 、标签选择器

3 、ID选择器

4、 后代选择器

5、 子选择器

6 、伪类选择器

7 、通用选择器

8 、群组选择器

9 、相邻同胞选择器

10、 属性选择器

扩展资料:

一个完整的HTML页面是有很多不同的标签组成,而标签选择器,则是决定哪些标签采用相应的CSS样式,(在大环境中你可能处于不同的位置,

但是不管怎么样,你总是穿着同一套衣服,这件衣服就是由标签选择器事先给你限定好的,不管走到哪里都是这身衣服)比如,在stylecss文件中对p标签样式的声明

参考资料 百度百科-css选择器

1、var a = documentgetElementById("test")getElementsByTagName("div");

代码的test的父标签id的值,div为标签的名字。getElementsByTagName是一个方法。返回的是一个数组。在访问的时候要按数组的形式访问。

2、var b =documentgetElementById("test")childNodes;

使用childNodes获取子节点的时候,childNodes返回的是子节点的集合,是一个数组的格式。他会把换行和空格也当成是节点信息。

扩展资料:

js获取父节点的方式:

1、parentNode获取父节点

获取的是当前元素的直接父元素。parentNode是w3c的标准。

var p  = documentgetElementById("test")parentNode

2、parentElement获取父节点

parentElement和parentNode一样,只是parentElement是ie的标准。

var p1 = documentgetElementById("test")parentElement;

3、offsetParent获取所有父节点

一看offset我们就知道是偏移量 其实这个是于位置有关的上下级 ,直接能够获取到所有父亲节点, 这个对应的值是body下的所有节点信息。

var p2 = documentgetElementById("test")offsetParent;

"1、利用标签名获取元素

$(""标签名"")

2、通过ID获取元素

$(""#id_name"")

3、通过 类名获取元素

$(""className"")

4、一次性获取多个元素

$(""元素名, 元素名, 元素名 "")

5、通过指定层次关系获取元素

$(""祖先 子孙"")

$(""父 > 子"")

$(""前 + 后"")

$(""兄 ~ 弟"")

6、根据元素的属性值获取元素

[attribute]

[attribute = value]

[attribute != value]

[attribute ^= value]

[attribute $= value]

[attribute = value]"

以上就是关于D1.DOM-获取DOM元素、修改属性全部的内容,包括:D1.DOM-获取DOM元素、修改属性、DOM获取标签的方法、js获取html元素的方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9758030.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存