
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元素的方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)