1 DOM里面操作元素的属性节点:
|
|
2 jquery中操作元素的属性节点:
|
|
3 “ . “操作符只能获取内嵌式的属性值,不能获取内联(style标签里面)式和外联式的属性;通过”.”也可以直接设置属性值,但是只能是固有属性的值,不能新增属性
|
|
4 “.” 操作符 和 setAttribute(“property”,”value”)设置属性的区别
- “.” 设置固有属性 ele.property = “value” ;可以使其在DOM元素中出现 ;
- “.” 设置新增属性 ele.property = “value” ;可以设置一个属性,但是并不会在DOM元素中出现 ;
- setAttribute 无论设置新增属性还是固有属性,都会在DOM元素中出现 ;
5 注意用什么方式设置属性,就要用什么方式获取属性,
a 比如 “.” 操作符设置的属性无法用getAttribute(“property”)获取到;”.” 获取的未被设置的属性值是 undefined;
b 比如setAttribute(“property”,”value”)设置的属性值无法用 “.” 操作符来获取;获取未被设置的属性值是null;
c “.”操作符设置属性要通过”.”操作符获取;setAttribute设置的属性值只能通过getAttribute来获取;
6 所有的属性节点里面,最常用的就是style属性节点,如何操作style属性节点,要理清元素属性和元素样式属性的关系,元素属性包括样式属性;
注意:元素的属性–>包括style 属性,id属性 class属性 title属性等—>style属性里面又包含了一些样式属性–>字体,文本,文本装饰,布局,尺寸,定位,颜色,变换(transform),过渡(transition),背景,外补白,内补白等都是属性;
a) JAVAScript( DOM ) 中操作☞ 获取 style的属性值:
|
|
获取元素内嵌式style属性的值: ele.style.property 等价于 ele.style.getPropertyValue(‘property’) 来获取style样式属性的属性值,注意获取的属性值结果是一个字符串类型 ; 只能获取内嵌式style 的属性值 ; 如果是内联式或者外联式的属性值则获取不到,返回的结果是一个空字符串
总结来说就是,
- 只能获取内嵌式style的样式属性值,返回该属性的字符串值;
- 如果获取的属性内嵌式style里面没有该属性,那么返回空字符串;
- 这两种获取style样式属性总会返回一个字符串的结果,要么有值,要么是一个空字符串;
获取元素内联style标签里面或者外联式的元素的style样式某个属性值 :
|
|
- window.getComputedStyle(“元素”,”伪类)可以获取该元素的所有的最终 使用的CSS属性值
ele.style 也是可以获取该元素的所有的最终使用的CSS属性
- 二者区别是 第一: window.getComputedStyle(“ele”,”伪类”)是一个只读的属性,而ele.style 是一个可读可写的属性;
第二:getComputedStyle
方法获取的是最终应用在元素上的所有CSS属性对象(即使没有CSS代码,也会把默认的祖宗八代都显示出来);而element.style
只能获取元素style
属性中(注意:内嵌式)的CSS样式。因此对于一个光秃秃的元素`,
getComputedStyle方法返回对象中
length属性值(如果有)就是
190+(据我测试FF:192, IE9:195, Chrome:253, 不同环境结果可能有差异), 而
element.style就是
0`。
|
|
封装兼容低版本的获取元素属性值的代码:注意一点就是获取的结果是一个字符串类型的属性值,比如18px red等字符串
|
|
b) JAVAScript(DOM)中操作☞ 设置 style的属性值:
- 设置style属性的值 ele.style.property = “value” 等价于 ele.style.setProperty(‘property’,’value’)来设置元素的style样式属性值
7 对于不是元素的样式属性,比如offsetWidth offsetHeight clientWidth clientHeight scrollWidth scrollHeight 等,不能通过获取样式属性的方法获取这些值。
- js中
|
|
- jquery中
|
|
###8 代码解释:(嗯,乱一点点,不好意思)